我需要读入一个保存在Java Android Studio中的文件,其中包含以下代码
fos = context.openFileOutput(filename, Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(json);
os.close();
fos.close();
原来Java内部使用UTF-16对字符进行编码。我现在需要在Flutter SDK(使用Dart语言)中读取这些文件
file.readAsString(encoding: Latin1).then((str) => {
print(str)
}).catchError( (e) => {
print(e)
});
然而,Latin 1编码并不能完美地工作,所以我想用UTF-16来读取它,但是看起来Dart根本没有这个功能,或者至少我找不到。Utf8Codec
确实存在,但没有Utf16Codec
或Encoding.getByName("UTF-16")
。顺便说一下,Utf8给出了异常,因此这也是没有选项的。
那么,如何在Dart中读取使用UTF-16保存在Android Studio Java中的文件?
3条答案
按热度按时间q43xntqr1#
请使用
utf
package。gtlvzcf82#
我可以使用这4行代码将UTF-16文件转换为字符串,以避免使用停产的软件包。希望这能有所帮助!
km0tfn4u3#
使用Base64。正在导入**“dart:convert'**。