C#怎么制作unicode到gb2312映射表
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章主要介绍"C#怎么制作unicode到gb2312映射表",在日常操作中,相信很多人在C#怎么制作unicode到gb2312映射表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
健身数据库系统选择
目前做软件开发网公司怎么样
个人服务器名称叫什么好
接软件开发的平台是什么
新基建万物互联网络安全
广东海洋大学网络安全专业
计算机软件开发属于什么行业门类
网络安全手抄报简字少
数据库该怎么学习
银行人员如何做好网络安全
无锡服务器维修公司哪家好
数据库还原的方法有哪些
如何解除网络安全问题帐号保护
财务软件服务器怎么装安全
linux 通信软件开发
数据库新手学什么
什么是软件开发v型
百度院校数据库
大学计算机网络技术分数线
CRMEB数据库结构解析
expod 数据库
工程全过程管理服务器
三去云网络技术服务工作室
上海股票软件开发定制
网络技术的漏洞
大学数据库技术课程是什么
网络安全攻防演练文案
计算机网络技术曾宇课后答案
数据库液压图
厦门小程序软件开发定制