目前我使用的是这样的:
private static ASCEncoding = new Encoding();
...
...
和我的方法:
...
public object some_method(object BinaryRequest)
{
byte[] byteRequest = (byte[])BinaryRequest;
string strRequest = ASCEncoding.GetString(byteRequest);
...
}
在Windows下检查时,某些字符与在Linux下检查时不同
9I9T (win)
98T (linux)
当您在系统之间进行通信时,为您的文本使用特定的文档编码是一个好主意。对于用英语编写的文本(包括使用英语作为关键字/等的编程语言),UTF-8编码可能在编码表示中使用最少的总字节数。
byte[] byteRequest = (byte[])BinaryRequest;
string strRequest = Encoding.UTF8.GetString(byteRequest);
显然,要使用这个,您需要使用相同的编码生成您的请求。
string strRequest = ...
byte[] byteRequest = Encoding.UTF8.GetBytes(strRequest);
string stringValue = Encoding.Default.GetString(byteArray);