对于 Unicode 字符,例如 ASCII 代码 160 的无间断空格 ] [,通过按住 Alt 键并在小键盘中键入 160 生成,它会产生两个字符的长度。
例如,我有一个 88 个字符的字段(例如 Android 日志中的 Tag 字段)。如果我有 87 个普通字符 (ASCII < 127) 和一个无换行空格,在 String.length()
中我仍然会得到 88。但实际上它需要 89 的长度。并且它超出了字段大小。
Java(或 Android)中是否有一个函数可以简单地返回字符串的“扩展”长度?
最佳答案
您对 Java 字符的心理模型很困惑。该字符串有 88 个字符,当写为 UTF-8 序列时需要 89 个字节。显然,您需要使用哪个版本取决于您想用它做什么。如果您要使用网络链接发送数据,则需要使用八位位组(字节)。
关于java - 返回 "extended"字符串的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431584/