我想將一個byte
數組指向一個字符串,我需要的只是將byteArray
中的數字轉換爲字符串Foreg。 "12459865..."
正確的編碼風格爲轉換字節[]到字符串
我想這個要做到這一點:
fileInString = Encoding.UTF8.GetString(fileInBytes, 0, fileInBytes.Length);
fileInBytes
看起來是這樣的:1212549878563212450045....
但最終fileInString
看起來像這樣ID3\0\0\0\0JTENC\0\0\[email protected]\0\0WXXX\0...
和怪異cahracters的很多。
我嘗試了不同的Encoding樣式,包括default
,但是都插入了一些需要的字符。
我唯一的選擇就是循環和每個成員投在串
while (currbyte != -1)
{
currbyte = fileStream.ReadByte();
//fileInBytes[i++] = (byte)currbyte;
fileInString += currbyte.ToString();
progressBar1.Value = i++;
}
但這是TOO
緩慢。請告訴我,我怎麼可以轉換字節數組使用Encoding.....GetString
你如何讓你的字節LIK這個'1212549878563212450045'?你能把它分成每個字節嗎?如12 | 12 | 54 | 98 ...或1 | 2 | 1 | 2 | 5 | 4 | 9 | 8 ...? –
我已經更新了我的問題來解釋我是如何做到的'fileInBytes'陣列的一個喜歡這裏'fileInBytes [我++] =(字節)currbyte基本上;' – Maven
它很慢,也許部分原因在於你的'progressBar1.Value =我++;',任何與UI更新相關的代碼都會減慢一切,你應該在更大的時間間隔內更新進度條以減少這種情況,甚至在某些情況下,我們甚至不需要關於當前進程的確切信息,只需要一些工作通知即可。 –