我需要「XXX」以某種方式轉化爲字節,但我得到的例外Convert.ToByte找不到任何可識別的數字
型「System.FormatException」未處理的異常發生在 mscorlib.dll中
附加信息:找不到任何可識別的數字。
是否有可能「xxx」值轉換爲字節?
byte tr = (byte)(Convert.ToByte("xxx", 16) << 4);
我需要「XXX」以某種方式轉化爲字節,但我得到的例外Convert.ToByte找不到任何可識別的數字
型「System.FormatException」未處理的異常發生在 mscorlib.dll中
附加信息:找不到任何可識別的數字。
是否有可能「xxx」值轉換爲字節?
byte tr = (byte)(Convert.ToByte("xxx", 16) << 4);
無法將「xxx」轉換爲字節。它根本不是任何字節的表示。
byte [] tr = Encoding.UTF8.GetBytes(「xxx」);但有了這個我得到的x是120 –
這是一個有效的值 – chris579
此行(Convert.ToByte("xxx", 16) << 4)
將返回integer
,當解析到byte
時,這不會轉換爲字符串,這就是爲什麼它會拋出System.FormatException
。
但是,如何將字符串轉換爲字節[]已經是一個很好的例子。
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
比我得到120,0,120,0,120,0但我與Encoding.UTF8.GetBytes(「xxx」)我可以得到120,120,120所以也許會更好Encoding.UTF8 .GetBytes( 「XXX」)? –
@IrmantasMedeišis這取決於你,我的方法的唯一好處是你仍然可以獲取數據並重建原始字符串,即使它包含[無效數據](http://www.cl.cam.ac.uk/) 〜mgk25/ucs/examples/UTF-8-test.txt),因爲它只查看字節。 –
如果您需要更改一個字符串轉換爲字節數組:
byte[] toBytes = Encoding.ASCII.GetBytes("xxx");
的byte [] TR = Encoding.UTF8.GetBytes( 「XXX」)這項工作很好,但我想知道我該如何應用這種移位16)<< 4); –
之後應用轉移。你不能在轉換中應用它。 – chris579
你正在做的是將16位基址中的xxx轉換爲字節。我們在16個基地沒有xxx。 – Mehrdad