C#怎么制作unicode到gb2312映射表
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍"C#怎么制作unicode到gb2312映射表",在日常操作中,相信很多人在C#怎么制作unicode到gb2312映射表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
征集网络安全手抄报
软件开发专业课程一般都有什么
学历低可以学网络安全吗
网络技术要数学好吗
提供企业内网网络安全
网络安全法律知识心理健康
浪朝服务器dimmerror
巧房系统数据库抓取
电子书阅读软件开发方案
黄河鲲鹏服务器远程管理
组态王历史数据库在哪里找到
招行与华为数据库
互联网软件开发者
郑州为天网络技术有限公司
rdf三元组数据库
数据库学生信息管理系统参考文献
网络安全标题两个字
普陀区网络技术服务价钱
安全性最高的国外云服务器
银行网络安全周活动宣传报道
铁路网络安全知识答题
网络安全监督宣传
浙江项目软件开发价位
网络安全及云计算销售
易语言标签如何显示数据库数据
网络安全工程师的就业前景
江苏sass软件开发商
国家法律法规数据库不能搜索
百度云安全组关联服务器
温州数字化智慧校园软件开发