我需要读取编码为win1251的文件并将其转换为UTF8。

可以在dat上吗?

我该怎么做?

最佳答案

简短的答案:您需要一个支持win1251的Encoding

我们在Dart SDK中提供了多个转换器,但没有专门针对win1251。您可能需要尝试Latin1Codec。看来overlap with win1251相当多。

dart:convert API页面中的示例应该是一个好的开始:

int lineNumber = 1;
Stream<List<int>> stream = new File('quotes.txt').openRead();

stream.transform(utf8.decoder)
      .transform(const LineSplitter())
      .listen((line) {
        if (showLineNumbers) {
          stdout.write('${lineNumber++} ');
        }
        stdout.writeln(line);
      });

...除了使用latin1.decoder代替utf8.decoder之外。

关于dart - 如何以win1251的编码读取文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51646693/

10-10 17:07