string scene_id = "SYSTEM000000000000018428#0000000001";
byte[] myBytes = Encoding.UTF8.GetBytes(scene_id); // 長度遠超過 8 位元組
long iscene = BitConverter.ToInt64(myBytes, 0); // 只取前 8 位元組!
byte[] tb = BitConverter.GetBytes(iscene); // 只能還原前 8 位元組
string ts = Encoding.UTF8.GetString(tb); // 截斷後的亂碼
任意長度字串無法無損壓縮進固定 32/64 位整數。資訊熵不允許:2^32 種整數值無法一一對應無限多字串。
byte[] data = Encoding.UTF8.GetBytes(str); 透過網路/序列化傳遞 data,對端 Encoding.UTF8.GetString(data) 完美還原。Guid.NewGuid())、資料庫自增 ID、雪花演算法 ID 等,對應關係存資料庫/快取,傳輸端只傳 ID。放棄「字串→定長整數→字串」的幻想,老實傳完整位元組或用映射 ID。