所以我知道String#codePointAt(int),但它是由char偏移索引,而不是由代码点偏移索引.
我正在考虑尝试这样的事情:
String#charAt(int)得到char的指数char在高代理范围内
String#codePointAt(int)获取代码点,并将索引增加2char值作为代码点,并将索引递增1但我担心的是
char值或一个值我想将 String 转换为"abc"具有相应 ascii 的 int:在本例中,979899.
我遇到了两个问题:
1) 我写的只适用于 ascii 为两个字符长的字符,并且
2) 由于这些数字变得非常大,我不能使用 long 并且我在使用 BigIntegers 时遇到了麻烦。
这是我到目前为止:
BigInteger mInt = BigInteger.valueOf(0L);
for (int i = 0; i<mString.length(); i++) {
mInt = mInt.add(BigInteger.valueOf(
(long)(mString.charAt(i)*Math.pow(100,(mString.length()-1-i)))));
}
Run Code Online (Sandbox Code Playgroud)
任何建议都会很棒,谢谢!
我需要在Java中获取一个char的ANSI值
香港专业教育学院试图将我的char强制转换为int类型,但它返回的值不是其ANSI值。
有什么办法吗?
希伯来语中的一个字母是“?” 的ANSI值为236,但是当我将其转换为整数时,我得到1500