Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 如何在Dart中将字符串转换为utf8?_Sockets_Dart_Converter_Aqueduct - Fatal编程技术网

Sockets 如何在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) {

我正在使用AqueductWebAPI框架来支持我的颤振应用程序。在我的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);
}
@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)
  • 打印(应答体)
  • 在尝试转换为UTF8后,我可以打印
    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()),