繁体   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