如何在Swift中的Latin1编码文件中阅读中文文本

时间:2016-12-14 12:30:00

标签: swift string macos encoding

我的macOS应用程序中有以下代码,用于读取latin1编码文件:

import javax.swing.*;

public class ssce{
    public static void main(String... args){
        // Declarations
        String string1 = "Eggs";
        String string2 = "Whole Chicken";
        int quantity1 = 100;
        int quantity2 = 25;

        JFrame f = new JFrame("prova");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


        String[] col = {"Ingredient", "Quantity"};
        Object[][] data = {
            {string1, new Integer(quantity1)},
            {string2, new Integer(quantity2)}
        };
        JTable tb = new JTable(data, col);
        f.add(tb);
        f.setSize(300, 400);
        f.setVisible(true);
    }
}

以下代码可以完美地读取英文代码,然后将其打印到控制台,并将其显示在let fileContent = try! String(contentsOf: pathURLOfMyFile, encoding: String.Encoding.isoLatin1) print(fileContent) resultTextView.string = fileContent 上。

但问题是,如果文件中有一些字符(或者我认为任何非拉丁字符),它不想正确读取它们,控制台和文本视图都会输出随机代码resultTextView(原文是你好)。

如何在我的应用中正确阅读此文件?感谢。

P.S。如果我将编码更改为UTF8,它将正常工作。但我有一些CSV文件,只有在我使用latin1字符串编码时才能打开。

以UTF8打开文件时出现以下错误:

你好

0 个答案:

没有答案