如何将UTF16LE转换为字符串C#?

时间:2019-12-21 14:59:05

标签: c# utf-16

我在UTF16LE中有一个文本文件

  

feff 0074 0065 0073 0074

基本上是

  

测试

我要读取的文件是

         using (FileStream stream = File.Open(fileName, FileMode.Open))
                {
                    byte[] b = new byte[stream.Length];
                    Encoding u16LE = Encoding.Unicode;
                    arrRaw.Add(u16LE.GetString(b));
                }

之后,我开始在另一个函数中读取这些字符串数组:

[![在此处输入图片描述] [2]] [2]

因此,该输出只是象形文字。我不知道我在做什么错。而且我试图从该数组的第三个字节开始读取,但是结果是一样的

public static string Utf16ToUtf8Initial(string utf16String)
        {

            string utf8String = String.Empty;

            byte[] utf16Bytes = Encoding.Unicode.GetBytes(utf16String);
            byte[] utf8Bytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, utf16Bytes);


            utf8String = Encoding.UTF8.GetString(utf8Bytes);
            return utf8String;
        }

0 个答案:

没有答案