目前我使用的是這樣的:如何安全地將字節數組轉換爲Linux上的C#中的字符串(在單聲道下)?
private static ASCEncoding = new Encoding();
...
...
和我的方法:當在Linux下
9I9T (win)
98T (linux)
目前我使用的是這樣的:如何安全地將字節數組轉換爲Linux上的C#中的字符串(在單聲道下)?
private static ASCEncoding = new Encoding();
...
...
和我的方法:當在Linux下
9I9T (win)
98T (linux)
檢查
...
public object some_method(object BinaryRequest)
{
byte[] byteRequest = (byte[])BinaryRequest;
string strRequest = ASCEncoding.GetString(byteRequest);
...
}
在Windows下檢查時,一些字符是不同的當你在系統之間進行通信時,使用特定的a是個好主意爲您的文本提供文檔編碼。對於用英文書寫的文本(包括使用關鍵字/等的英文的編程語言),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);
這適用於.NET和Mono – MjeOsX
這是否工作完全取決於'byteArray'中的數據和系統的語言環境。 –
小心System.Text.Encoding.Default,因爲它可能會在每臺機器上運行不同。這就是爲什麼建議總是指定一個編碼,比如UTF-8。 –
這是因爲你使用ASCII編碼。 CPs不同。 –
您需要在兩端使用_correct_編碼。你需要確保它可以編碼你需要的每個字符。使用UTF8。 – SLaks
你的代碼不能編譯; '編碼'是抽象的。 – SLaks