java - 返回 "extended"字符串的长度

标签 java string unicode unicode-string string-length

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

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

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

仅供引用:http://en.wikipedia.org/wiki/Whitespace_character

最佳答案

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

关于java - 返回 "extended"字符串的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431584/

相关文章:

java - 要列出的结果集

python - 如何在python字符串中找到相反的字符?

c# - Azure PDF Sharp 不使用 Unicode 字体

python 瓶 : UTF8 path string invalid when using app. mount()

javascript - 在 Angular js中将字节数组显示为图像

java - 如何使用管理员权限从java运行批处理文件?

java - 如何在elasticsearch中访问嵌套的json?

C 表示法 : pointer to array of chars (string)

c++ - 遍历嵌套的字符串 vector

c++ - 通过 Lua 获取 C++ wchar_t 到 Flash