java - 如何在 Java 中将 "Æàìáûë"转换为可读的西里尔字母?

标签 java android

我尝试获取 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/

相关文章:

android - EditText 上的 setSpan() 删除其他跨度

java - 如何使用 Joda 计算出 UTC 偏移量?

android - 计算 sqlite,android 中特定列值的出现次数?

java - 当方法参数是 <T> 或 <?> 或任何时,方法的泛型标识符的所有可能方式?

java - Java中的GetParameter返回错误

android - 如何使用可组合内的参数初始化 Koin View 模型?

android - 在用它填充 AutoCompleteTextView 之前将 String 数组转换为 ArrayList 有什么好处?

java - Android SDK Eclipse Debug模式

java - 按 ID 对 JSON 数组排序

java - 如何访问 LoginCommand 返回的主体对象?