用.NET擷取漢字的區位碼(C#)

來源:互聯網
上載者:User
首先複習一下電腦基礎知識:

  電腦中最底層的資料都是用二進位及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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.