解决WINDOWS SOCKET发送中文字符串到ANDROID SOCKET乱码

博客主要围绕解决WINDOWS SOCKET发送中文字符串到ANDROID SOCKET乱码问题展开。指出乱码是因异种操作系统,中文WINDOWS一般为UTF - 8内码,Android为ANSI内码。并给出用delphi编译的解决方法示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决WINDOWS SOCKET发送中文字符串到ANDROID SOCKET乱码

WINDOWS SOCKET发送中文字符串到ANDROID SOCKET乱码,是由于异种操作系统造成的,一般中文WINDOWS 可设置为UTF-8内码,Android一般为ANSI内码,故而产生乱码,解决办法是在发送钱把中文字符串进行转吗发送,实现方法如下,用delphi编译:
var
Form1: TForm1;
strQueue:UTF8String;
bClientConnect :boolean=False;
ClientNo: String=‘0’;
implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Duration:=ini.ReadInteger(‘Duration’,‘mSecond’,3500);

    lwSocket.Open;

end;
procedure TForm1.lwSocketAccept(Sender: TObject; Socket: TCustomWinSocket);
var curNo:Integer;
begin
curNo := lwSocket.Socket.ActiveConnections-1;
bClientConnect :=True;
end;
procedure TForm1.lwSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
Name,tempStr,sWindow,sQueue,FirstName:String;
nCourt,nClassic,nWindow,iCurt:Integer;
begin

                            sQueue :=Utf8Encode('这是中文字符串转吗效果')+#10#13;

                          if iboxCnt=1 then
                            lwSocket.Socket.Connections[iboxActiveNo-1].SendText(sQueue)

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值