Dart 如何将字符串编码到windows-1251字符集?

Dart 如何将字符串编码到windows-1251字符集?,dart,Dart,如何将字符串编码到windows-1251字符集? 我将把表单数据发布到后端,后端内部使用windows-1251,因此我需要正确编码字符串,以便消息在后端可读 我是这样寄的 final codec = const Windows1251Codec(allowInvalid: false); final encoded = codec.encode(message); print('${codec.name}: encode "$message" to "$enco

如何将字符串编码到windows-1251字符集? 我将把表单数据发布到后端,后端内部使用windows-1251,因此我需要正确编码字符串,以便消息在后端可读

我是这样寄的

final codec = const Windows1251Codec(allowInvalid: false);
final encoded = codec.encode(message);
print('${codec.name}: encode "$message" to "$encoded"');

Response r = await Requests.post('http://abackend.com/page.php?action=send', 
   body: {'body': encoded},
   bodyEncoding: RequestBodyEncoding.FormURLEncoded
);
控制台:

I/颤振(7423):windows-1251:将“Пццццц”编码为“[239240232, 226、229、242]。”


有一个包可以实现这一点,称为

用法示例:

import'package:ough_convert/ough_convert.dart';
void main(){
最终编解码器=常量Windows1251Codec(allowInvalid:false);
最终输入='对输入进行编码';
最终编码=编解码器。编码(输入);
}

我想这是正确的,但是在以post形式发送
编码的
之前,我应该使用一些额外的CAN版本吗?当我将
编码的
发送到后端时,它会像
[229、239、251、32、252、228、249、237]
@rozero共享您发送数据的方式。该INT列表是您的编码字符串,您可能只是没有正确发送。请查看更新的问题。因此,在后端,它看起来像
[239、240、232、226、229、242]
@rozero您无法在网络包运行时重新编码数据。您使用windows1251编码,然后使用该软件包使用的任何东西重新编码。我非常不鼓励使用该软件包。