我正在使用JDBC从MySql数据库中读取blob。我知道得到的字节数组很好,我已经通过HTTP将其作为每个字节的数字的字符串文字发送,并成功下载了结果(jpg)。(只是为了证明mysql -> java servlet数据是好的)。
使用UTF-8从这个字节数组构造一个新字符串会产生一个长度比字节数组更短的字符串,并且是我无法破译的值。如果UTF-8是每个字符至少1个字节,那么结果字符串的长度不应该是生成它的字节数组的最小长度吗?(对于此特定示例,字节长度为12,079,474,结果字符串长度为11,501,845)
耽误您时间,实在对不起!
发布于 2017-01-01 00:52:09
在你的字节中,你有被解释为连续字节的数据,即在UTF-8中,它们有特殊的含义,它们由多个字节组成一个Unicode字符。这就是你的字符串比字节数短的原因。
https://stackoverflow.com/questions/41410189
复制相似问题