首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的java字符串的长度比生成它的byte[]数组短?

为什么我的java字符串的长度比生成它的byte[]数组短?
EN

Stack Overflow用户
提问于 2017-01-01 00:48:52
回答 1查看 190关注 0票数 1

我正在使用JDBC从MySql数据库中读取blob。我知道得到的字节数组很好,我已经通过HTTP将其作为每个字节的数字的字符串文字发送,并成功下载了结果(jpg)。(只是为了证明mysql -> java servlet数据是好的)。

使用UTF-8从这个字节数组构造一个新字符串会产生一个长度比字节数组更短的字符串,并且是我无法破译的值。如果UTF-8是每个字符至少1个字节,那么结果字符串的长度不应该是生成它的字节数组的最小长度吗?(对于此特定示例,字节长度为12,079,474,结果字符串长度为11,501,845)

耽误您时间,实在对不起!

EN

回答 1

Stack Overflow用户

发布于 2017-01-01 00:52:09

在你的字节中,你有被解释为连续字节的数据,即在UTF-8中,它们有特殊的含义,它们由多个字节组成一个Unicode字符。这就是你的字符串比字节数短的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41410189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档