我正在使用aqueduct web API框架来支持我的flutter应用程序。在我的api后端,我需要连接本地网络套接字服务。我的问题是,我不能返回准确的字符串(在tr中)。So,我如何在Dart中将字符串转换为utf8?
示例:
@httpGet
Future<Response> getLogin() async {
Socket.connect('192.168.1.22’, 1024).then((socket) async {
socket.listen((data) {
// Expected return is: 1:_:2:_:175997:_:NİYAZİ TOROS
print(new String.fromCharCodes(data).trim());
xResult = new String.fromCharCodes(data).trim();
print("xResult: $xResult");
}, onDone: () {
print("Done");
socket.destroy();
});
socket.write('Q101:_:49785:_:x\r\n');
});
return new Response.ok(xResult);
}
返回不是TR-tr语言格式。
返回文本如下所示:1::2::175997:_:尼亚齐·托罗斯
正确的必须是:1::2::175997:_:尼牙孜·托罗斯
更新:
xResult = new String.fromCharCodes(data).trim();
print(xResult);
responseBody = xResult.transform(utf8.decoder);
print(responseBody);
我可以打印xResult
,但在尝试转换为UTF8后无法打印responseBody
6条答案
按热度按时间iswrvxsc1#
另请参见https://api.dartlang.org/stable/1.24.3/dart-convert/UTF8-constant.html
还有编码器和解码器用于流
另请参见https://www.dartlang.org/articles/libraries/converters-and-codecs#converter
u4vypkhs2#
这可以用于获取flutter中的UTF-8。这里stringData字符串将包含具有UTF-8内容的必要数据。
ovfsdjhp3#
尝试使用utf-8转换使用此代码
而不是这个
导入
}
dluptydi4#
这不是针对您的特定情况的解决方案,而是相对于标题的解决方案。
如果字符串是URI,请用途:
Android字符串Uri是一个示例用例,下面是使用
Uri.decodeFull()
前后的演示:4zcjmb1e5#
至/自Uint 8列表
t5zmwmid6#
有用的相关转换: