Java:多字节字符串长度

标签 java

我有一个为命令行程序打印“标题文本”的方法,很像 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/

相关文章:

java - spring boot 在生产模式下启动 jar 时禁用 bean

java - Freebase API 文档中 Java 示例程序的文件未找到错误

java - org.openqa.selenium.ElementNotVisibleException : Element is not currently visible and so may not be interacted with Command duration or timeout:

java - 在桌面应用程序中保存用户名和密码

java - Qt Jambi 与 SWT 的跨平台 GUI 开发

java - Ubuntu 删除失败的 Java 安装(已安装一半)

java - 将具有方面的类转换为单一来源

java - 使用多 Maven 项目设置测试 Spring Boot 应用程序的问题

java - Spring Hystrix 未在内部方法上触发

java - 我可以使用什么数据结构或设计模式来解决这个问题