成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>VS.NET>>新聞內容
用.NET獲取漢字的區位碼(c#)
作者:yolle 發布時間:2004-8-18 12:57:02 文章來源:CSDN

  首先復習一下計算機基礎知識:

  計算機中最底層的數據都是用二進制及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 = "";
if (coding.Length % 4 != 0)//編碼為16進制,必須為4的倍數。
  {
  throw new System.Exception("編碼格式不正確");
  }
  for (int i = 0; i<coding.Length; i+=4 ) //每四位為一個漢字
  {
  byte[] bytes = new byte[2];
  string lowCode = coding.Substring(i, 2); //取出低字節,并以16進制進制轉換
  bytes[0] = System.Convert.ToByte(lowCode, 16);
  string highCode = coding.Substring(i + 2, 2); //取出高字節,并以16進制進行轉換
  bytes[1] = System.Convert.ToByte(highCode, 16);
  string character = System.Text.Encoding.Unicode.GetString(bytes);
  characters += character;
  }
  return characters;
  }
  public static void Main()
  {
  CodingChange code = new CodingChange();
  string coding = code.CharacterToCoding("我們的大中國,是好在的一個家.");
  Console.WriteLine(coding);
  Console.WriteLine(code.CodingToCharacter(coding));
  }
  };

最后輸出的結果是:

  C:\>test
  1162ec4e847627592d4efd560cff2f667d5928578476004e2a4eb65b2e00
  我們的大中國,是好在的一個家.

  C:\>


最新更新
·C#中使用Split分隔字符串的技
·VS2008開發中Windows Mobile
·PC機和移動設備上絕對路徑的
·C#程序加殼的方法(使用Sixx
·當前上下文中不存在名稱Conf
·請插入磁盤:Visual Studio 2
·用VS.NET讀取Flash格式文件信
·在ASP.NET中使用AJAX的簡單方
·VS.NET 2005中常用的一些代碼
·安裝VS.NET 2005 SP1補丁全攻
相關信息
·C#中使用Split分隔字符串的技巧
·PC機和移動設備上絕對路徑的獲取(C#)
·C#程序加殼的方法(使用Sixxpack)
·當前上下文中不存在名稱ConfigurationManager的解決方法
·C#的支付寶Payto接口代碼
·C#實現窗口最小化到系統托盤
·解密QQ的MsgEx.db消息文件格式
·QQ的TEA填充算法C#實現
·C#用Guid獲取不規則的唯一值(標識)
·基于Windows Mobile 5.0的掌上天氣預報設計
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 海丰县| 安福县| 尤溪县| 丹东市| 手游| 山西省| 盖州市| 宣化县| 柯坪县| 康乐县| 嘉善县| 广丰县| 长春市| 岱山县| 拉萨市| 永登县| 甘洛县| 兴宁市| 东乡县| 琼中| 定日县| 海伦市| 建始县| 汉寿县| 乡城县| 蒲城县| 黄大仙区| 崇阳县| 广州市| 通城县| 济源市| 花莲市| 西宁市| 景泰县| 通道| 乐山市| 青阳县| 桓台县| 灵石县| 曲靖市| 景宁|