如何把一个汉字变成2个字节?

jhdxhj 2009-06-09 09:34:06
如何把一个汉字变成2个字节?然后分别把2个字节赋值给不同的字符串?
...全文
243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jueyingfd 2009-06-09
  • 打赏
  • 举报
回复
这个简单:
  String message = "汉字"; 
Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
满衣兄 2009-06-09
  • 打赏
  • 举报
回复
楼上正解.
ICanUseThisID 2009-06-09
  • 打赏
  • 举报
回复

char c = '你';
byte[] data = Encoding.Unicode.GetBytes(c.ToString());
foreach (byte b in data)
{
MessageBox.Show(b.ToString());
}
我不懂电脑 2009-06-09
  • 打赏
  • 举报
回复
String message = "汉字";
Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
// 汉字字模提取的基本原理 // 如同画点画线一样 ,汉字是经过电脑画出来的。这样,就必须 // 为每一个字准备一个数组 , 这就是“ 字模 ” 。字模分为点阵和矢量 // 两种 ,我们常用的是点阵字模 ,一般有 1 6 x1 6和 2 4 x 2 4两种 , // 分别称为16点阵字和24点阵字 。它们的原理是依据点阵中的 0和 l // 把汉字画出来 ( 即 0表示不画点 , 1表示 画点) 。本文以16点阵的 // 汉字显示为例, 因此需访问UCDOS中的字库文件 HZK1 6 。 HZK16 // 的内容是按照字节存放的 ,即把 1 6 x1 6个“ 位” 变成 32个“ 字节 ” // 来存放 。另外 ,每个汉字在字库中有唯一的区位码与之对应 , 根据 // 汉字的机内码可以确定其区位码及其在字库中的起始位置,就可以从字库中 // 取出汉字字模 。具体步骤如下 : // 根据汉字的机内码 推算 出区位码 : // 区码= 机内码 高字节一 A0 H (因为汉字编码是从0xa0区开始的,所以文件最前面就是从0xa0区开始,要算出相对区码) // 位码= 机内码 底字节一 A0 H // 根据 区位码计算出汉字在字库中的偏移量( 即汉字在字库中的位置 ) : // 偏移量 L = [ ( 区码一 1 ) x 94 + ( 位码一 1 ) ] x 32 // 从该偏移地址中读取32字节(16*16位)或者128字节(32*32位),就是相关字符的点阵字模代码. // 1、区码减1是因为数组是以0为开始而区号位号是以1为开始的 // // 2、(94*(区号-1)+位号-1)是一个汉字字模占用的字节数 // // 3、最后乘以32是因为汉字库文应从该位置起的32字节信息记录该字的字模信息 // // 4、94为区位码94*94的方阵;32为从偏移地址中读取32字节(16*16位)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧