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

C# 依區位碼取得對應漢字

     編輯:關於C語言

原理

區位碼(GB2312 編碼)由兩位數字組成:區碼(1-94)、位碼(1-94)。對應的雙位元組編碼為 (區碼+160, 位碼+160)。利用 Encoding.Default.GetString(byte[]) 即可解碼為中文字元。

完整範例 (WinForms)

using System;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1() { InitializeComponent(); }

        private void button1_Click(object sender, EventArgs e)
        {
            byte[] array = new byte[2];
            string str = textBox1.Text.Trim(); // 輸入如 "1601" (區碼16, 位碼01)
            string str1 = str.Substring(0, 2);
            string str2 = str.Substring(2, 2);
            int front = Convert.ToInt32(str1) + 160;
            int back = Convert.ToInt32(str2) + 160;
            array[0] = (byte)front;
            array[1] = (byte)back;
            textBox2.Text = Encoding.Default.GetString(array);
        }
    }
}

說明

  • Encoding.Default 取得系統預設 ANSI 編碼(繁體中文環境為 Big5,簡體為 GB2312),若專案需跨平台建議明確指定 Encoding.GetEncoding("gb2312")。
  • 輸入格式固定為 4 位數字,實際應用可加入驗證邏輯。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved