1

对于 Unicode 字符,例如 ASCII 码 160 的 No-Break Space ] [,通过按住 Alt 键在小键盘中输入 160 生成,它会产生两个字符的长度。

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

Java(或Android)中是否有一个函数可以简单地返回字符串的“扩展”长度?

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

4

1 回答 1

1

你对 Java 字符的心智模型很混乱。该字符串有 88 个字符,当写成 UTF-8 序列时需要 89个字节。显然,您需要使用哪个版本取决于您想用它做什么。如果要使用网络链接发送数据,则需要使用八位字节(字节)。

于 2013-05-09T11:35:26.770 回答