我有一个为命令行程序打印“标题文本”的方法,很像 Markdown 的语法:
1. =======================
2. This is a header string
3. =======================
此方法为第 1 行和第 3 行取一个字符 c
,并根据 s
的长度重复 n
次。
String.length()
可以很好地处理英文字母表,但我如何找到包含“Å”和“等外来多字节字符的字符串的长度(即视觉长度) Ç”?
最佳答案
String.length
适用于这些类型的字符,因为 Java 字符串以 UTF-16 格式工作,这足以表示绝大多数常用字符(拉丁文、希腊文、阿拉伯文) , 希伯来文, 中文, 泰文, 天城文, ...).
如果您可能需要处理 U+FFFF 以上的字符,那么您需要使用 codePointCount
而不是 length
来处理代理项对。
关于Java:多字节字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12712207/