簡體   English   中英

將轉義的unicode字符串轉換為bytearray

[英]Convert escaped unicode string to bytearray

我的輸入字符串由Unicode轉義字符和常規字符混合而成。示例:

String input ="\u0000\u0003\u0000\u0013timestamp\u0011clientId\u0015timeToLive\u0017destination\u000fheaders\tbody\u0013messageId\u0001\u0006"

如何將其轉換為字節數組或流?

預期輸出為Byte []

//                         t     i     m     e     s     t     a     m     p
{0x00, 0x03, 0x00, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x11, ...}

這似乎可行:

Encoding.UTF8.GetBytes(input);

您可以使用以下方法嘗試:

Text = BitConverter.ToString(Encoding.UTF8.GetBytes(input));

看來您可以簡單地將每個字符轉換為等效的字節值。

您沒有說明如何處理值大於255的unicode字符,但是假設您沒有以下任何一個:

input.Select(c => (byte)c).ToArray();

請注意,對於您的特定示例, Encoding.UTF8.GetBytes(input)將產生完全相同的字節數組。

但是,您並不是說要對字符串UTF8進行編碼,並且由於您沒有顯示255以上的unicode代碼點,因此很難准確說明您想要的內容。

暫無
暫無

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

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