小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用.NET獲取漢字的區(qū)位碼(c#)_.net技術(shù)

 ylw527 2010-12-31
首先復(fù)習(xí)一下計(jì)算機(jī)基礎(chǔ)知識(shí):

  計(jì)算機(jī)中最底層的數(shù)據(jù)都是用二進(jìn)制及0和1來(lái)表示的。每個(gè)0或1稱(chēng)作1位,第8位二進(jìn)制數(shù)叫做1個(gè)字節(jié),它可以表示ASCII碼中的一個(gè)字符。中文計(jì)算機(jī)中用兩個(gè)字節(jié)即16位二進(jìn)制來(lái)表示一個(gè)漢字。而在Unicode編碼中所有的符號(hào)(包括漢字,英文,標(biāo)題及其它眾多符號(hào))都是為兩字節(jié)(16)位來(lái)表示。

  在System.Text命名空間中包含眾多編碼的類(lèi),可供進(jìn)行操作及轉(zhuǎn)換,下面用兩個(gè)實(shí)例來(lái)進(jìn)行區(qū)位碼及漢字之間的互換,希望能起到舉一反三的效果,讓大家可以輕松處理文字編碼方面的問(wèn)題:


  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)); //取出二進(jìn)制編碼內(nèi)容
  string lowCode = System.Convert.ToString(bytes[0], 16); //取出低字節(jié)編碼內(nèi)容(兩位16進(jìn)制)
  if (lowCode.Length == 1)
  lowCode = "0" + lowCode;
  string hightCode = System.Convert.ToString(bytes[1], 16);//取出高字節(jié)編碼內(nèi)容(兩位16進(jìn)制)
  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進(jìn)制,必須為4的倍數(shù)。
  {
  throw new System.Exception("編碼格式不正確");
  }
  for (int i = 0; i<coding.Length; i+=4 ) //每四位為一個(gè)漢字
  {
  byte[] bytes = new byte[2];
  string lowCode = coding.Substring(i, 2); //取出低字節(jié),并以16進(jìn)制進(jìn)制轉(zhuǎn)換
  bytes[0] = System.Convert.ToByte(lowCode, 16);
  string highCode = coding.Substring(i + 2, 2); //取出高字節(jié),并以16進(jìn)制進(jìn)行轉(zhuǎn)換
  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("我們的大中國(guó),是好在的一個(gè)家.");
  Console.WriteLine(coding);
  Console.WriteLine(code.CodingToCharacter(coding));
  }
  };

 


  最后輸出的結(jié)果是:

  C:\>test
  1162ec4e847627592d4efd560cff2f667d5928578476004e2a4eb65b2e00
  我們的大中國(guó),是好在的一個(gè)家.

  C:\>


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多