Sockets 如何在Dart中将字符串转换为utf8?
我正在使用AqueductWebAPI框架来支持我的颤振应用程序。在我的api后端,我需要连接本地网络套接字服务。我的问题是我不能返回准确的字符串(在tr中)。So,如何在Dart中将字符串转换为utf8? 示例:Sockets 如何在Dart中将字符串转换为utf8?,sockets,dart,converter,aqueduct,Sockets,Dart,Converter,Aqueduct,我正在使用AqueductWebAPI框架来支持我的颤振应用程序。在我的api后端,我需要连接本地网络套接字服务。我的问题是我不能返回准确的字符串(在tr中)。So,如何在Dart中将字符串转换为utf8? 示例: @httpGet Future<Response> getLogin() async { Socket.connect('192.168.1.22’, 1024).then((socket) async { socket.listen((data) {
@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);
}
@httpGet
Future getLogin()异步{
连接('192.168.1.22',1024)。然后((套接字)异步{
socket.listen((数据){
//预期回报率为:1:2:175997:NİYAZİTOROS
打印(新字符串.fromCharCodes(data.trim());
xResult=新字符串.fromCharCodes(data).trim();
打印(“xResult:$xResult”);
},onDone:(){
打印(“完成”);
socket.destroy();
});
socket.write('Q101::49785::x\r\n');
});
返回新的响应。ok(xResult);
}
返回值不是TR语言格式
返回文本如下所示:
1:2:175997:NÝYAZÝTOROS
正确答案必须是:
1:2:175997:NİYAZİTOROS
更新:
xResult=newstring.fromCharCodes(data.trim()代码>
打印(xResult)代码>
responseBody=xResult.transform(utf8.decoder)代码>
打印(应答体)代码>
xResult
,但无法打印响应库
import 'dart:convert' show utf8;
var encoded = utf8.encode('Lorem ipsum dolor sit amet, consetetur...');
var decoded = utf8.decode(encoded);
另见
还有用于流的编码器和解码器
File.openRead().transform(utf8.decoder).
另见
这可用于使UTF-8处于颤振状态。此处,stringData字符串将包含包含UTF-8内容的必要数据。在4中,“无法打印”是什么意思。步骤不是打印。表示responseBody为null,表示utf8.decoder没有执行任何操作为什么要使用
转换
?你没有使用流,我不知道怎么做。我弄糊涂了。将其转换为responseBody=utf8.decode(xResult);仍然无法打印响应库File.openRead().transform(utf8.encoder)
出现错误
utf8.decode(stringData.runes.toList()),