如何在Java中查找char的ansi值?

Ita*_*y S 1 java

我需要在Java中获取一个char的ANSI值

香港专业教育学院试图将我的char强制转换为int类型,但它返回的值不是其ANSI值。

有什么办法吗?

希伯来语中的一个字母是“?” 的ANSI值为236,但是当我将其转换为整数时,我得到1500

Erw*_*idt 6

您所谓的“ ANSI”实际上是Windows代码页1255字符集(Windows-1255)。这是Microsoft的希伯来语代码页。

您可以使用以下代码以该编码获取字符值:

public static void main(String[] args) throws UnsupportedEncodingException {
    String s = "?";
    byte[] b = s.getBytes("Windows-1255");
    System.out.println(b[0] & 0xff);
}
Run Code Online (Sandbox Code Playgroud)

打印:

236
Run Code Online (Sandbox Code Playgroud)

(注意:这也适用于Windows以外的其他操作系统,例如MacOS)