给出以下unicode字符,如何在C#中获得以下字符串:
预期结果:1f601
答案 0 :(得分:3)
您可以使用UTF-32编码对其进行编码:
var text = "";
var bytes = Encoding.UTF32.getBytes(text);
然后,您将得到一个代表4个字节的数组。只需获取每组4个字节并转换为hexa。
答案 1 :(得分:1)
尽管Daniels Answers在技术上是正确的,但您仍需要将其转换为十六进制以获得您所描述的结果
代码
conda install <package-file-name>.tar.bz2
输出
var text = "";
var bytes = Encoding.UTF32.GetBytes(text);
Console.WriteLine(string.Join("", bytes.Select(x => x.ToString("x"))));
其他资源
连接指定数组的元素或a的成员 集合,在每个元素之间使用指定的分隔符或 成员。
将序列的每个元素投影为新形式。
将当前Byte对象的值转换为其等效的字符串 使用指定的格式表示。
Standard Numeric Format Strings
“ X”或“ x”十六进制结果:十六进制字符串。
- 支持者:仅整数类型。
- 精度说明符:结果字符串中的位数。
更多信息:HexaDecimal(“ X”)格式说明符。
1f610
(“ X”)->255
FF
(“ x”)->-1
ff
(“ x4”)->255
00ff
(“ X4”)->-1