2

目前我正在使用这样的东西:

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)
4

2 回答 2

3

当您在系统之间进行通信时,最好为您的文本使用特定且记录在案的编码。对于用英语编写的文本(包括使用英语作为关键字/等的编程语言),UTF-8 编码可能在编码表示中使用最少的总字节数。

byte[] byteRequest = (byte[])BinaryRequest;
string strRequest = Encoding.UTF8.GetString(byteRequest);

显然,要使用它,您应该使用相同的编码产生您的请求。

string strRequest = ...
byte[] byteRequest = Encoding.UTF8.GetBytes(strRequest);
于 2013-06-03T15:46:35.433 回答
0
string stringValue = Encoding.Default.GetString(byteArray);
于 2013-06-03T14:09:02.917 回答