返回String的“扩展”长度

时间:2013-05-08 02:13:19

标签: java string unicode unicode-string string-length

对于Unicode字符,例如此无中断空格] [ASCII代码160,通过在小键盘中按住Alt键键入160生成),它产生两个字符的长度。 / p>

例如,我有88个字符的字段(例如Android日志中的Tag字段)。如果我有87个普通字符(ASCII <127)和一个不间断空格,在String.length()中我仍然会得到88.但实际上它需要89的长度。它超过字段大小。

Java(或Android)中是否有函数只返回字符串的“扩展”长度?

仅供参考:http://en.wikipedia.org/wiki/Whitespace_character

1 个答案:

答案 0 :(得分:1)

您对Java角色的心理模型感到困惑。该字符串有88个字符,当作为UTF-8序列写出时需要89 字节。显然,您需要使用哪个版本取决于您想要使用的版本。如果您要使用网络链接发送数据,则需要使用八位字节(字节)。