这是我的代码:
byte[] sample = Encoding.UTF8.GetBytes("çõ");
foreach (byte c in sample)
Debug.Write(c.ToString());
我正在为使用PDU模式通过GSM调制解调器发送文本而对消息进行编码。编码器算法期望字节数小于127,并且不适用于值195167和195181 (对于葡萄牙语字母“çá”。如果消息中只有ASCII字符,则可以正常工作。
发布于 2021-01-06 00:05:32
是啊。Encoding.UTF8.GetBytes(“çó”)实际上每个返回2个字节(称为代理对)。第一个字符返回195和167,而第二个字符返回195和181。在使用Debug.WriteLine而不仅仅是Debug.Write时发现了它。附注:某些葡萄牙语字母(如ç和ó)不在GSM字符集中。GSM set仅使用字节0-127表示字符。您必须将葡萄牙语消息编码为UCS2字符集。
https://stackoverflow.com/questions/65551354
复制相似问题