我尝试获取 byte
然后用 Utf-8 转换。
byte ptext[] = first_name.getBytes();
Log.i("", new String(ptext,"UTF-8"));
但它不起作用。抱歉我的愚蠢。我很困惑。
最佳答案
try {
String s = new String("Æàìáûë".getBytes(StandardCharsets.ISO_8859_1), "Windows-1251");
Files.write(Paths.get("C:/cyrillic.txt"),
("\uFEFF" + s).getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
假设编辑器和编译器设置为 UTF-8 以具有正确的错误字符串文字。
这将字符视为单个字节,滥用了 ISO-8859-1。然后尝试 Cyrillic 的 Windows-1251 编码(还有其他编码)。 这样我们就有了一个 java 字符串(总是在 Unicode 中)。 我们将使用 BOM 将其写入 UTF-8 文本文件,因此 Windows 记事本会将文件识别为 UTF-8。
写入任何西里尔文编码都没有问题。
Жамбыл
关于java - 如何在 Java 中将 "Æàìáûë"转换为可读的西里尔字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747159/