C#怎么制作unicode到gb2312映射表
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"C#怎么制作unicode到gb2312映射表",在日常操作中,相信很多人在C#怎么制作unicode到gb2312映射表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2026年11月02日C#怎么制作unicode到gb2312映射表
这篇文章主要介绍"C#怎么制作unicode到gb2312映射表",在日常操作中,相信很多人在C#怎么制作unicode到gb2312映射表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#怎么制作unicode到gb2312映射表"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } class unit_converter : IComparable { public int gb2312 = 0; public int unicode = 0; public unit_converter() { } public unit_converter(int gb2312_0, int gb2312_1) { init_with_gb2312(gb2312_0, gb2312_1); } private int CompareWithUnicode(unit_converter other) { return unicode.CompareTo(other.unicode); } private int CompareWithGB2312(unit_converter other) { return gb2312.CompareTo(other.gb2312); } public int CompareTo(unit_converter other) { if(unicode == other.unicode) { Console.WriteLine("something wrong with gb2312: "+ gb2312.ToString("X4") + "unicode: "+unicode.ToString("X4")); } return CompareWithUnicode(other); //return CompareWithGB2312(other); } private byte[] _gb2312 = new byte[2]; private byte[] _unicode = new byte[2]; public void init_with_gb2312(int gb2312_0, int gb2312_1) { _gb2312[0] = (byte)gb2312_0; _gb2312[1] = (byte)gb2312_1; gb2312 = _gb2312[0] * 256 + _gb2312[1]; String s_target_gb2312 = System.Text.Encoding.GetEncoding("GB2312").GetString(_gb2312); byte[] b_target_unicode = System.Text.Encoding.GetEncoding("unicode").GetBytes(s_target_gb2312); _unicode[0] = b_target_unicode[1]; _unicode[1] = b_target_unicode[0]; unicode = _unicode[0] * 256 + _unicode[1]; } private void init_with_unicode(int unicode_0, int unicode_1) { _unicode[0] = (byte)unicode_1; _unicode[1] = (byte)unicode_0; unicode = _unicode[0] * 256 + _unicode[1]; String s_target_unicode = System.Text.Encoding.GetEncoding("unicode").GetString(_unicode); byte[] b_target_gb2312 = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s_target_unicode); _gb2312[0] = b_target_gb2312[0]; _gb2312[1] = b_target_gb2312[1]; gb2312 = _gb2312[0] * 256 + _gb2312[1]; } } List elements = new List(); private void make_src_gb2312() { for (int index_level_1 = 0xA1; index_level_1 < 0xAA; index_level_1++) { for (int index_level_2 = 0xA1; index_level_2 < 0xFF; index_level_2++) { elements.Add(new unit_converter(index_level_1, index_level_2)); } } for (int index_level_1 = 0xB0; index_level_1 < 0xF7; index_level_1++) { for (int index_level_2 = 0xA1; index_level_2 <= 0xFF; index_level_2++) { elements.Add(new unit_converter(index_level_1, index_level_2)); } } Console.WriteLine("CNT " + elements.Count.ToString()); elements.Sort(); } private String save_to_string() { String target_string = ""; target_string += "uint16_t const sorted_unicode[MAX_UNI_INDEX] = {"; int length = elements.Count(); for(int i =0; i < length; i++) { if(i%8 == 0) { target_string += "\r\n "; } target_string += " 0x" + elements[i].unicode.ToString("X4") + ","; } target_string += "\r\n};"; target_string += "\r\nuint16_t const sorted_gb2312[MAX_UNI_INDEX] = {"; for (int i = 0; i < length; i++) { if (i % 8 == 0) { target_string += "\r\n "; } target_string += " 0x" + elements[i].gb2312.ToString("X4") + ","; } target_string += "\r\n};"; return target_string; } private void save_to_file() { String t = save_to_string(); } private void font_test() { } private void Form1_Load(object sender, EventArgs e) { //C9AD 森 byte[] b_src_gb2312 = new byte[2] { 0xC9, 0xAD }; byte[] b_src_unicode = new byte[2] { 0x02, 0x30 }; unit_converter converter = new unit_converter(b_src_gb2312[0], b_src_gb2312[1]); //String s_target_gb2312 = System.Text.Encoding.GetEncoding("GB2312").GetString(b_src_gb2312); //byte[] b_target_unicode = System.Text.Encoding.GetEncoding("unicode").GetBytes(s_target_gb2312); //String s_target_unicode = System.Text.Encoding.GetEncoding("unicode").GetString(b_target_unicode); String s_target_unicode = System.Text.Encoding.GetEncoding("unicode").GetString(b_src_unicode); byte[] b_target_gb2312 = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s_target_unicode); make_src_gb2312(); save_to_file(); font_test(); Console.WriteLine("start"); } }} 到此,关于"C#怎么制作unicode到gb2312映射表"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
C#
制作
学习
更多
帮助
实用
接下来
文章
方法
理论
知识
篇文章
网站
资料
跟着
问题
好用
实践
解答
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
紫鲸互联网科技
朗涯互联网科技
奇士达互联网科技
无线互联网科技
互联网科技上市公司
互联网科技logo
互联网 视角下的科技创新
多迪互联网科技有限公司
互联网巨头投资的硬核科技
阿里巴巴算科技企业还是互联网
互联网教育科技公司vipkid
互联网科技寓意
欧洲十大科技互联网公司
彤创互联网科技有限公司
互联网科技如何创业
互联网风格科技公司名称
2021世界互联网领先科技成果发布
科技互联网行业投资研究
美国五大互联网科技公司市值多少
第三届互联网大会安防黑科技
金融科技 互联网金融
中国互联网科技发展
成都互联网科技公司
开启互联网科技时代小说
互联网科技与管理
成都互联网科技公司工作好不好
天津腾达互联网科技有限公司
南京一网一红互联网科技有限公司
互联网科技接地气
好易买互联网科技