首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 實現簡繁體網頁轉換完整指南

     編輯:關於C語言

前言

在開發面向華語地區的 Web 應用時,簡繁體中文轉換是常見需求。本文介紹如何在 C# 中利用 Microsoft.VisualBasic.Strings.StrConv 方法實現高效的簡繁體轉換,並搭配正確的編碼處理(Big5 編碼 950、GB2312 編碼 936)生成相容性佳的網頁。

核心步驟

1. 參考必要組件

在專案中加入 Microsoft.VisualBasic.dll 參考。該組件通常位於 .NET Framework 目錄下,例如:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.VisualBasic.dll

2. 簡繁體轉換核心代碼

使用 StrConv 方法配合 VbStrConv.TraditionalChinese 或 VbStrConv.SimplifiedChinese 列舉值:

// 簡體轉繁體
string traditional = Microsoft.VisualBasic.Strings.StrConv(
    inputString, 
    Microsoft.VisualBasic.VbStrConv.TraditionalChinese, 
    System.Globalization.CultureInfo.CurrentCulture.LCID);

// 繁體轉簡體
string simplified = Microsoft.VisualBasic.Strings.StrConv(
    inputString, 
    Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, 
    System.Globalization.CultureInfo.CurrentCulture.LCID);

詳細用法請參考 MSDN 文檔。

3. 網頁輸出編碼設定(Big5 / GB2312)

寫入繁體網頁時使用編碼 950 (Big5);讀取簡體源文件時使用編碼 936 (GB2312)。

寫入檔案範例(Big5 編碼)

public bool WriteFile(string content, string filePath)
{
    if (string.IsNullOrEmpty(filePath)) return false;
    
    try
    {
        // 確保目錄存在
        string directory = Path.GetDirectoryName(filePath);
        if (!Directory.Exists(directory))
            Directory.CreateDirectory(directory);

        using (StreamWriter writer = new StreamWriter(filePath, false, Encoding.GetEncoding(950)))
        {
            writer.Write(content);
        }
        return true;
    }
    catch
    {
        return false;
    }
}

讀取檔案範例(GB2312 編碼)

public string ReadFile(string filePath)
{
    if (string.IsNullOrEmpty(filePath)) return string.Empty;
    
    try
    {
        using (StreamReader reader = new StreamReader(filePath, Encoding.GetEncoding(936)))
        {
            return reader.ReadToEnd();
        }
    }
    catch
    {
        return string.Empty;
    }
}

最佳實踐建議

  • 優先使用 UTF-8 編碼開發新專案,僅在需相容舊系統時採用 Big5/GB2312
  • 轉換前先移除 HTML 標籤,避免標籤內容被誤轉換
  • 大量文本處理時建議使用 StringBuilder 提升效能
  • 考慮引入成熟開源庫(如 ChineseConverter)獲得更準確的詞彙級轉換

總結

透過 Microsoft.VisualBasic.Strings.StrConv 搭配正確編碼處理,可快速實現 ASP.NET 專案的簡繁體網頁轉換需求。現代專案建議採用 UTF-8 統一編碼,配合前端 JavaScript 庫實現客戶端動態切換,提供更好的用戶體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved