溫馨提示×

C#中WideCharToMultiByte轉換中文問題怎么解決

c#
小億
160
2023-11-07 20:32:54
欄目: 編程語言

在C#中,可以使用System.Text.Encoding類來進行字符編碼轉換。對于WideCharToMultiByte函數的轉換,可以使用Encoding類的GetEncoding方法指定源和目標編碼,然后使用GetBytes方法將字符串轉換為字節數組,最后使用GetString方法將字節數組轉換為字符串。

以下是一個示例代碼:

using System;
using System.Text;

public class Program
{
    public static void Main()
    {
        string chineseText = "你好";
        Encoding srcEncoding = Encoding.Unicode;
        Encoding dstEncoding = Encoding.GetEncoding("gb2312");

        byte[] srcBytes = srcEncoding.GetBytes(chineseText);
        byte[] dstBytes = Encoding.Convert(srcEncoding, dstEncoding, srcBytes);

        string result = dstEncoding.GetString(dstBytes);
        Console.WriteLine(result);
    }
}

在此示例中,源編碼為Unicode(wide char)編碼,目標編碼為gb2312(多字節)編碼。首先,通過GetBytes方法將字符串轉換為字節數組,然后使用Encoding.Convert方法將字節數組從源編碼轉換為目標編碼,最后使用GetString方法將字節數組轉換為字符串。

運行此代碼將輸出"你好"。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女