【问题标题】:Different count for String.length() for different languages不同语言的 String.length() 计数不同
【发布时间】:2020-03-14 20:26:51
【问题描述】:

我想要什么

给定一个字符串 s 和一个坐标 x1,考虑到中心的 x1,想要打印到 pdf。 我需要开始x坐标

问题

我可以很容易地用 x1-s.length()/2 计算起始坐标 (x) 到它在中心的位置,但对于印地语(语言)却失败了

如何计算忽略 Unicode 字符但字母的实际字符数。 I basically want to print the string at the center, String is variable

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    length 方法可能会得到意想不到的答案的原因有很多。

    String 上的 length 方法返回字符串中 char 值的数量,但 Unicode 字符比char 可能的值多,因此对于某些字符,使用多个 char 值来存储字符。要获得您期望的长度,请尝试以下操作:s.codePointCount(0, s.length())

    如果您的字符串包含Combining Diacritical Mark,它使用一个字符,但与另一个字符结合显示。这是一个关于如何发现这些的问题:detect any combining character in Java

    【讨论】:

      猜你喜欢
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 2018-06-05
      • 2017-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多