gpt4 book ai didi

java - 为什么我的 java String 的长度比它生成的 byte[] 数组短?

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:48 25 4
gpt4 key购买 nike

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

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

感谢您的宝贵时间!

最佳答案

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

关于java - 为什么我的 java String 的长度比它生成的 byte[] 数组短?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41410189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com