Convert String (UTF-16) to UTF-8 in C#

后端 未结 6 1967
囚心锁ツ
囚心锁ツ 2020-12-05 11:16

I need to convert a string to UTF-8 in C#. I\'ve already try many ways but none works as I wanted. I converted my string into a byte array and then to try to write it to an

6条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-05 11:41

    class Program
    {
        static void Main(string[] args)
        {
            String unicodeString =
            "This Unicode string contains two characters " +
            "with codes outside the traditional ASCII code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
    
            Console.WriteLine("Original string:");
            Console.WriteLine(unicodeString);
            UnicodeEncoding unicodeEncoding = new UnicodeEncoding();
            byte[] utf16Bytes = unicodeEncoding.GetBytes(unicodeString);
            char[] chars = unicodeEncoding.GetChars(utf16Bytes, 2, utf16Bytes.Length - 2);
            string s = new string(chars);
            Console.WriteLine();
            Console.WriteLine("Char Array:");
            foreach (char c in chars) Console.Write(c);
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("String from Char Array:");
            Console.WriteLine(s);
    
            Console.ReadKey();
        }
    }
    

提交回复
热议问题