C# 中关于汉字与16进制转换的代码

C#实现汉字与16进制互转源码解析 Unicode是一种将世界上所有字符都包含在内的字符编码标准,旨在统一和简化不同语言和平台上的文本表示。Unicode为每个字符分配一个唯一的代码点,这个代码点在计算机内部通常以16进制形式表示。每个Unicode代码点对应一个字符,如“中”字在Unicode中是U+4E2D,转换为16进制即为0x4E2D。通过上述示例,我们可以看到将16进制字符串转换为汉字涉及到字符串的验证、字节的转换以及编码的解码三个主要步骤。理解了这些原理后,无论面对什么样的编码格式,都能够灵活应对。 阅读详情
C# 中关于汉字与16进制转换的代码

public class chsHex
{
/// <summary>
/// 从汉字转换到16进制
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string GetHexFromChs(string s)
{
if ((s.Length % 2) != 0)
{
s += " ";//空格
//throw new ArgumentException("s is not valid chinese string!");
}

System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312");

byte[] bytes = chs.GetBytes(s);

string str = "";

for (int i = 0; i < bytes.Length; i++)
{
str += string.Format("{0:X}", bytes[i]);
}

return str;
}
/// <summary>
/// 从16进制转换成汉字
/// </summary>
/// <param name="hex"></param>
/// <returns></returns>
public static string GetChsFromHex(string hex)
{
if (hex == null)
throw new ArgumentNullException("hex");
if (hex.Length % 2 != 0)
{
hex += "20";//空格
//throw new ArgumentException("hex is not a valid number!", "hex");
}
// 需要将 hex 转换成 byte 数组。
byte[] bytes = new byte[hex.Length / 2];

for (int i = 0; i < bytes.Length; i++)
{
try
{
// 每两个字符是一个 byte。
bytes[i] = byte.Parse(hex.Substring(i * 2, 2),
System.Globalization.NumberStyles.HexNumber);
}
catch
{
// Rethrow an exception with custom message.
throw new ArgumentException("hex is not a valid hex number!", "hex");
}
}

// 获得 GB2312,Chinese Simplified。
System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312");


return chs.GetString(bytes);
}
}


汉字字模提取工具 在使用嵌入式系统时,常常会使用到单色LCD屏显示汉字,这时都会想到在网上找一个汉字字模提取的工具,把所需的汉字转换成十六进制的字库,再编排为所需的库文件。但是这样的方式,会使效率变得很低,而且也很不方便。因此联合嵌入式中心提供了这个汉字字模提取工具“CHStiqu.exe”,可以直接扫描所指定的文件,并将这些文件中的汉字提取为16*16点阵字模的汉字库文件“HzCode.h”,直接有C加载该头文件即可使用所扫描到的字模。“CHStiqu.exe”字模提取工具需要依赖基本字库文件“CCLIB16.FNT”,生成的字模格式为“横向纵排”。 “CHStiqu.exe”使用方法: 将该工具及基本字库文件“CCLIB16.FNT”放在要扫描的源文件相同目录下,在CMD指令窗口国输入该指令并加上要查询中文字符的文件,可以查询多个文件后,将找到的中文字符写入"HzCode.h"中。 如:要将main.c中的中文字符的编码提取出来,则 >chstiqu main.c 如:想要提取main.c和menu.c两个文件中的中文字符的编码,则 >chstiqu main.c menu.c 立即下载

相关推荐

易语言模块数值与十六进制文本的相互转换.rar

易语言模块数值与十六进制文本的相互转换.rar

C#十六进制转换为汉字

第一种方法public string ConvertTo_UTF8_String(string Msg){byte[] buff = new byte[Msg.Length / 2];string Message="";for (int i = 0; i 第二种方法:  private string getultstr(string strcontent){string aaa = s

BraveHeart专栏 1万+

文字转化为点阵输出

这个东西通过GETPixel GDI+将输入的文字转化为点阵!

c# 字符串(含有汉字)转化为16进制编码(转)

c# 字符串(含有汉字)转化为16进制编码(转) public static string Str2Hex(string s) { string result = string.Empty; byt...

baihuomeng2210的博客 476

易语言文本和16进制相互转换工具-易语言

易语言文本和16进制相互转换工具

动作识别(三)Win10复现OpenPose1.7.0+ST-GCN代码

动作识别(三)Win10复现OpenPose1.7.0+ST-GCN代码1.Win10系统配置OpenPose1.7.0的Python API 本人最近在研究基于骨架的动作识别方法,有幸看到端到端的ST-GCN算法,于是决定自己复现一下。(具体原理这里不介绍,大家自行查阅,比如Openpose是个啥?ST-GCN又是个啥?) 1.Win10系统配置OpenPose1.7.0的Python API 安装步骤: (1) ...

QIANFANGshiwo的博客 3036

16进制与汉字互转

给大家提供一种16进制与汉字相互转换的方法,其实就liang

u014478621的专栏 5425

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 779

从16进制转换成汉字

Demo 转载:http://www.cnblogs.com/hantianwei/archive/2009/09/21/1571264.html 未测试 /// <summary> /// 从汉字转换到16进制 /// </summary> /// <param name="s"></param> ...

weixin_30470643的博客 1939

k-Wave仿真例程:创建超声换能器并绘制声场分布

k-Wave软件是为了模拟超声波在1D、2D或3D中的传播。应用示例包括:- 均匀和非均匀介质中的传播- 模拟各种类型的传感器- 模拟多普勒效应- 衍射、折射和反射- 光声、超声成像- 波束合成、成像重建- 模拟弹性波。

weixin_38452364的博客 6325

Allegro如何导入芯片的Pin Delay?

Allegro在做等长时,需要导入芯片的Pin Delay才能做真正的等长。因为有些芯片内部的引脚本身就是不等长的,例如海思的部分芯片。在右栏找到芯片U1,然后在Pin Delay栏下找一个PIN脚随便输入一个数值,这一步的目的是导出Pin Delay.csv文件的格式。4、用这份文件的格式,重新编辑需要导入芯片的Pin Delay,然后选择菜单File→Import→Pin delay。2、回到PCB,选择菜单File→Export→Pin delay,导出Pin Delay。

bhxc809751502的博客 5140

C#中文、字符串与16进制互转

本篇博客对C#中的中文、字符串与16进制的相互转换进行了详细介绍。通过掌握这些转换技巧,你可以在实际开发中更灵活地处理字符编码和数据类型的转换。希望本博客能够帮助你更好地理解和应用C#编程中的这些技巧。

故事不长丨的博客 4174

智能能效管家:基于 ESP32 的智能插座设计与精细化功耗管理实现

针对传统插座无法远程控制、功耗监测缺失、能源浪费严重等问题,本文设计一款基于 ESP32 主控芯片的智能插座。该系统集成 WiFi 无线通信、交流功耗采集、继电器通断控制模块,实现四大核心功能。硬件采用模块化选型与安全接线设计,软件基于 Arduino-ESP32 框架开发,搭载 Mqtt 通信协议与功耗算法,可通过手机 / 云端实时管控设备,有效提升用电安全性与能源利用率。:ESP32;智能插座;功耗管理;远程控制;能耗监测。

weixin_42300449的博客 101

C# 汉字转十六进制

C# 汉字转十六进制 1、汉字转换到16进制         ///         ///  汉字转换到16进制         ///         ///         /// 编码,如"utf-8","gb2312"         /// 是否每

冰蓝 3035

69页完整版智慧港口综合解决方案

智慧港口需求4港机远程操控等自动化改造需求自动化码头AGV无线通信及专用视频系统需求安全生产视频监控类需求港机RCMS及设备管理需求岸边智能理货码头三维全景应用智慧港口解决方案5自动化码头AGV/跨运车/无人集卡无线接入港机远控视觉及冗余无线通信视觉集卡防吊起系统集装箱码头岸边智能理货港机RCMS系统无线接入港机智能化管理(无线高清视频监控、一键报警、远程抄表系统)港口拖轮无线接入岸边溢油监测系统TD-LTE覆盖及业务终端接入港口生产管理系统港口可视化集群调度港口GiNMS综合网络设备智能管理全球作业效率最

zuoan1993的博客 2128

MATLAB库函数unwrap(相位解卷绕)的C语言实现

什么是相位解卷绕 Q = unwrap(P) Q = unwrap(P) corrects the radian phase angles in a vector P by adding multiples of ±2π when absolute jumps between consecutive elements of P are greater than or equal to the default jump tolerance of π radians. If P is a matrix, unw

业精于勤,荒于嬉 4247

c# 十六进制转为字节_C# 16进制与字符串、字节数组之间的转换

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串//十进制转二进制Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));//十进制转八进制Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));//十进制转十六进制Console.WriteLine("十...

weixin_36465073的博客 2309

软件设计师---计算机系统

软件设计师---计算机系统

我从不打没有准备的仗! 3万+

C#普通字符串与16进制字符串相互转换(包含汉字)

/// <summary> /// 普通转16进制(带汉字) /// </summary> /// <param name="data"></param> public static string Hexdata(string data) { byte[] b = Encoding.GetEncoding("GB2312").GetBytes...

LcVong的博客 1818

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# 16进制与字符串、字节数组之间的转换

/// /// 字符串转16进制字节数组 /// /// /// private static byte[] strToToHexByte(string hexString) { hexString = hexString.Replace(" ", "");

hakunamatatakun的专栏 606

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: ZPL II 命令参考
下一篇: 手机隐藏功能
msikruby
博客等级 码龄19年 11粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值