目前有個需求就要通過乘客名單,航班資訊自動生成PNR
通過各種百度資料和自己抓包研究,已經能正確處理GB2312編碼表中的漢字。
但是一旦出現非GB2312中的漢字就會占編失敗(輸入漢字超出字庫GB2312范圍,請采用漢語拼音輸入,INVALID CHARACTER,PLS NM1XXXX/XXXXXX ),我是轉了ascll碼再發送的。結果有問題,請大俠指點一下,這個漢字要怎么轉碼傳過去
指令如下
NM:1楊喆 1陳埰斌
漢字轉碼代碼如下:
byte[] org = Encoding.GetEncoding("GBK").GetBytes(inputString);
List<byte> result = new List<byte>();
bool flag = false;
foreach (byte b in org)
{
if (!flag && b > 128)
{
result.AddRange(new byte[] { 0x1B, 0x0E });
flag = true;
}
else if (flag && b <= 128)
{
result.AddRange(new byte[] { 0x1B, 0x0F });
flag = false;
}
if (flag)
{
result.Add((byte)(b - 128));
}
else
{
result.Add(b);
}轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278226.html
標籤:其他開發語言
