Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将十六进制UTF-8字节转换为十六进制代码点_C#_Unicode_Utf 8_Hex - Fatal编程技术网

C# 将十六进制UTF-8字节转换为十六进制代码点

C# 将十六进制UTF-8字节转换为十六进制代码点,c#,unicode,utf-8,hex,C#,Unicode,Utf 8,Hex,如何转换 十六进制UTF-8字节-E0 A4 A4到十六进制代码点-0924 参考: 我需要这个,因为当我在c#中读取Unicode数据时,它将其视为单字节序列并显示3个字符而不是1个字符,但我需要3个字节序列(读取3个字节并显示单个字符),我尝试了许多解决方案,但没有得到结果 如果我可以显示或存储一个3字节的utf-8字符序列,那么我就不需要转换 塞纳里奥是这样的: string str=getivrresult(); 在str中,我有一个单词,每个字符都是3字节utf-8序列 编辑

如何转换
十六进制UTF-8字节-E0 A4 A4到十六进制代码点-0924

参考:

我需要这个,因为当我在c#中读取Unicode数据时,它将其视为单字节序列并显示3个字符而不是1个字符,但我需要3个字节序列(读取3个字节并显示单个字符),我尝试了许多解决方案,但没有得到结果

如果我可以显示或存储一个3字节的utf-8字符序列,那么我就不需要转换

塞纳里奥是这样的:

    string str=getivrresult();
在str中,我有一个单词,每个字符都是3字节utf-8序列

编辑:

             string str="त";
             //i want it as "त" in str.

    Character                                   त
    Character name                              DEVANAGARI LETTER TA
    Hex code point                              0924
    Decimal code point                          2340
    Hex UTF-8 bytes                             E0 A4 A4
    Octal UTF-8 bytes                           340 244 244
    UTF-8 bytes as Latin-1 characters bytes     à ¤ ¤  

谢谢。

编码
类中使用
获取字符串
方法:

byte[] data = { 0xE0, 0xA4, 0xA4 };
string str = Encoding.UTF8.GetString(data);

该字符串现在包含一个字符,字符代码为0x924。

请向我们展示您迄今为止所尝试的内容。您的输入内容和输出内容还不清楚。。。显示两者的示例会很有帮助。@JonSkeet:我假设OP想要反转
string.Join(“,Encoding.UTF8.GetBytes(string)。选择(x=>x.ToString(“X2”)@dtb:可能,但还不完全清楚。特别是,输入是一个字节数组还是一个字符串…位转换器。ToString(b)。替换(“-”,“”)谢谢你,我得到了答案,完全如你所说。我正在发布它。gag。。。。。。。。。。。。跳过
string.Format
Convert.ToByte
int.Parse
,只说
data[i]=c
        //utf-8 Single Byte Sequence input
        string str = "त";
        int i = 0;
        byte[] data=new byte[3];

        foreach (char c in str)
        {
            string tmpstr = String.Format("{0:x2}", (int)c);
            data[i] = Convert.ToByte(int.Parse(tmpstr, System.Globalization.NumberStyles.HexNumber));
            i++;
        }


        //utf-8 3-Byte Sequence Output now stp contains "त".
        string stp = Encoding.UTF8.GetString(data);