簡體   English   中英

十進制數字字符串到字節數組[c#]

[英]String of decimal numbers to byte array [c#]

我在C#中遇到問題,將十進制數從字符串轉換為字節數組。 我想使用字節數組創建BigInteger。

我嘗試:

string Astr = "123456789123456789123456789123456789123456789123456789123456789123456789123456789";
byte[] AByte = Astr.Select(c => (byte)(c - '0')).ToArray(); //This is problem because array padding wrong.

感謝您的想法。 :)

當擁有可用字符串時,為什么需要從字節數組創建BigInteger?

為什么不這樣做呢?

string aStr = "123456789123456789123456789123456789123456789123456789123456789123456789123456789";
BigInteger x = BigInteger.Parse(aStr);

還要注意,字符串形式的BigInteger與它的字節數組之間沒有簡單的對應關系。

例如,如果您添加以下代碼,則從上面的代碼開始:

var ba = x.ToByteArray();
Console.WriteLine(string.Join(" ", ba.Select(v => v.ToString("x"))));

輸出為:

15 5f 4 84 b6 70 28 c7 73 7b a3 d5 f9 b a1 8 67 12 b0 a5 af 52 ba cb e4 66 6c 75 78 66 92 31 2a 4

編碼為BigInteger后,是原始字符串的byte []版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM