用.NET获取汉字的区位码(C#)

原创 2004年12月29日 20:59:00
首先复习一下计算机基础知识:

  计算机中最底层的数据都是用二进制及0和1来表示的。每个0或1称作1位,第8位二进制数叫做1个字节,它可以表示ASCII码中的一个字符。中文计算机中用两个字节即16位二进制来表示一个汉字。而在Unicode编码中所有的符号(包括汉字,英文,标题及其它众多符号)都是为两字节(16)位来表示。

  在System.Text命名空间中包含众多编码的类,可供进行操作及转换,下面用两个实例来进行区位码及汉字之间的互换,希望能起到举一反三的效果,让大家可以轻松处理文字编码方面的问题:

程序代码:

     using System;
  using System.Text;
  class CodingChange
  {
  public string CharacterToCoding(string character)
  {
  string coding = "";
  for (int i = 0; i<character.Length; i++ )
  {
  byte[] bytes = System.Text.Encoding.Unicode.GetBytes(character.Substring(i,1)); //取出二进制编码内容
  string lowCode = System.Convert.ToString(bytes[0], 16); //取出低字节编码内容(两位16进制)
  if (lowCode.Length == 1)
  lowCode = "0" + lowCode;
  string hightCode = System.Convert.ToString(bytes[1], 16);//取出高字节编码内容(两位16进制)
  if (hightCode.Length == 1)
  hightCode = "0" + hightCode;
  coding += (lowCode + hightCode);//加入到字符串中,
  }
  return coding;
  }
  public string CodingToCharacter(string coding)
  {
  string characters = ""; 

转自:http://www.guoblog.com/blogview.asp?logID=201

c#区位码与汉字相互转换

c#区位码与汉字相互转换 转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688 区位码用四位数字表示,前两位称区码(01到94),后两位称位码(01到94)。 ...
  • zhgl7688
  • zhgl7688
  • 2015年02月23日 23:12
  • 1327

c# winform 汉字国标码、机内码、区位码的相互转换

今天有一个朋友找我让我帮忙写一个程序,要实现汉字国标码、机内码、区位码的相互转换 我们知道,汉字zai...
  • zinechina
  • zinechina
  • 2014年07月24日 23:55
  • 1012

Java获取汉子区位码

为了适应计算机处理汉字信息的需要, 1981 年我国颁布了 GB2312 国家标准。该标准选出 6763 个常用汉字(其中,一级常用汉字 3755 个,二级汉字 3008 个) 和 682 个非汉字字...
  • bangbangjunjunzhang
  • bangbangjunjunzhang
  • 2013年11月20日 22:05
  • 978

区位码、国标码与机内码

国标与机内码的转换         国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再...
  • herorenme
  • herorenme
  • 2013年03月28日 18:18
  • 766

汉字编码-区位码、国标码和内码发展和区别以及为什么要加2020H、8080H

当计算机传入中国并开始普及时,首要问题是解决中文编码问题,也就诞生出了GB2312、GBK等等编码方式。而其中的具体实现方式是什么?区位码是什么?国标码是什么?它们如何转换又为什么这么转换? 首先来...
  • zrf2112
  • zrf2112
  • 2016年02月22日 19:31
  • 1465

汉字的内码和区位码与显示汉字原理

汉字的内码和区位码         在计算机中英文字符是用一个字节的ASCII码表示,该字节最高位一般置0或用做奇偶校验,故实际是用7位码来代表128个字符的,但对于众多的汉字,只有用两个字节才能代...
  • yuanwofei
  • yuanwofei
  • 2013年10月18日 00:36
  • 2080

C# 获取汉字的拼音首字母和全拼(含源码)

C# 获取汉字的拼音首字母一种是把所有中文字符集合起来组成一个对照表;另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母。碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手动...
  • younghaiqing
  • younghaiqing
  • 2017年03月16日 09:54
  • 4401

.NET(C#):关于正确读取中文编码文件

首先如果读者对编码或者BOM还不熟悉的话,推荐先读这篇文章:.NET(C#):字符编码(Encoding)和字节顺序标记(BOM)。 中文编码基本可以分成两大类: 1. ANSI编码的扩展集合:比如...
  • dz45693
  • dz45693
  • 2016年11月18日 10:31
  • 3545

.net 实现三种验证码(汉字验证码,数字验证码,数字+英文验证)附带登陆验证实例

首先,新建createImage.aspx 在CreateImage.aspx.cs中,添加如下代码:   using System; using System.Collections.Generic...
  • jimmy1357
  • jimmy1357
  • 2013年10月26日 11:55
  • 1711

ASP.NET获取汉字首字母

/// /// 获取汉字首字母(可包含多个汉字) /// /// /// public string GetChineseSpell(string st...
  • chengmodelong
  • chengmodelong
  • 2015年02月04日 22:39
  • 269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用.NET获取汉字的区位码(C#)
举报原因:
原因补充:

(最多只允许输入30个字)