将转义的unicode字符串转换为bytearray
本文关键字:转换 bytearray 字符串 unicode 转义 | 更新日期: 2023-09-27 18:13:17
我的输入字符串由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码位,因此很难确切地说出您想要的是什么。