C#字串在記憶體中的具體數值和佔長
阿新 • • 發佈:2020-06-14
在學習資料在記憶體中的儲存方式時突然想到這個問題,在查閱了資料後有點大概的思路,但是網上還是有看到不同的答案,如這裡的回答:https://q.cnblogs.com/q/35325/
目前先把自己的感悟寫下來吧,以後懂了再更新。
這裡寫段小程式碼跑一下做示例:
strings = "hello world";
Console.WriteLine(s.Length);//輸出11
Byte[] data = System.Text.Encoding.Unicode.GetBytes(s);Console.WriteLine(data.Length);
//輸出22。
s.Length=11不難理解。
data.Length=22,表示字串s佔用了22個位元組。由於
比如h,ASCII表中為68,在記憶體中的表示即為00 68(0000 0000 0110 1000)
(截圖來自搜狗百科)