如何将Unicode字形转换为文本

时间:2018-10-23 02:10:00

标签: c# .net

给出以下unicode字符,如何在C#中获得以下字符串:

预期结果:1f601

2 个答案:

答案 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"))));

Full Demo Here


其他资源

String.Join Method

  

连接指定数组的元素或a的成员   集合,在每个元素之间使用指定的分隔符或   成员。

Enumerable.Select Method

  

将序列的每个元素投影为新形式。

Byte.ToString(String)

  

将当前Byte对象的值转换为其等效的字符串   使用指定的格式表示。

Standard Numeric Format Strings

  

“ X”或“ x”十六进制结果:十六进制字符串。

     
      
  • 支持者:仅整数类型。
  •   
  • 精度说明符:结果字符串中的位数。
  •   
  • 更多信息:HexaDecimal(“ X”)格式说明符。

         
        
    • 1f610 (“ X”)-> 255

    •   
    • FF(“ x”)-> -1

    •   
    • ff(“ x4”)-> 255

    •   
    • 00ff(“ X4”)-> -1

    •   
  •