C# UTF8字串轉漢字
為了把他轉會對應的漢字,上網找了很多,但是都是js指令碼的。於是我自己寫了個C#的轉換類。
///
/// UTF8字串轉換為漢字用的類
/// 轉換如""之類的字串為對應的漢字
///
class UTF8String
{
string m_strContent = "";
///
/// 建構函式
///
/// 要轉換的字串
public UTF8String(string content)
{
m_strContent = content;
}
public string getContent()
{
return m_strContent;
}
///
/// 轉換函式
///
///
public string ToString()
{
string reString = null;
char[] content = m_strContent.ToCharArray(); //把字串變為字元陣列,以進行處理
for (int i = 0; i < content.Length; i++) //遍歷所有字元
{
if (content[i] == '\\') //判斷是否跳脫字元 \
{
switch (content[i + 1]) //判斷跳脫字元的下一個字元是什麼
{
case 'u': //轉換的是漢字
case 'U':
reString += HexArrayToChar(content, i + 2); //獲取對應的漢字
i = i + 5;
break;
case '/': //轉換的是 /
case '\\': //轉換的是 \
case '"':
break;
default: //其它
reString += EscapeCharacter(content[i + 1]); //轉為其它型別字元
i = i + 1;
break;
}
}
else
reString += content[i]; //非跳脫字元則直接加入
}
return reString;
}
///
/// 字元陣列轉對應漢字字元
///
/// 要轉換的數字
/// 起始位置
///
private char HexArrayToChar(char[] content, int startIndex)
{
char[] ac = new char[4];
for (int i = 0; i < 4; i++) //獲取要轉換的部分
ac[i] = content[startIndex + i];
string num = new string(ac); //字元陣列轉為字串
return HexStringToChar(num);
}
///
/// 跳脫字元轉換函式
/// 轉換字元為對應的跳脫字元
///
/// 要轉的字元
///
private char EscapeCharacter(char c) {
char rc;
switch (c)
{
case 't':
c = '\t';
break;
case 'n':
c = '\n';
break;
case 'r':
c = '\r';
break;
case '\'':
c = '\'';
break;
case '0':
c = '\0';
break;
}
return c;
}
///
/// 字串轉對應漢字字元
/// 只能處理如"8d34"之類的數字字元為對應的漢字
/// 例子:"9648" 轉為 '陳'
///
/// 轉換的字串
///
public static char HexStringToChar(string content)
{
int num = Convert.ToInt32(content, 16);
return (char)num;
}
///
/// 把string轉為UTF8String型別
///
///
///
public static UTF8String ValueOf(string content)
{
string reString = null;
char[] ac = content.ToCharArray();
int num;
foreach (char c in ac)
{
num = (int)c;
string n = num.ToString("X2");
if (n.Length == 4)
reString += "" + n;
else
reString += c;
}
return new UTF8String(reString);
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22392018/viewspace-735412/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#漢字轉漢語拼音C#
- C#中漢字轉拼音C#
- php的漢字轉換: Unicode(UTF8)->GBK (轉)PHPUnicode
- C# 校驗字串是否漢字、其他字元,數字或字元C#字串字元
- c++中utf8字串和gbk字串的轉換C++字串
- Python 漢字區位碼、字串 相互轉換Python字串
- 去除字串中的漢字function字串Function
- php 擷取漢字字串 亂碼解決 支援utf8和gb2312的編碼的漢字PHP字串
- 字串與二進位制互相轉化(不包含漢字) (轉)字串
- C#漢字拼音檢索C#
- PHP 實現字串翻轉(包含中文漢字)的實現PHP字串
- java中文字串漢字轉GBK編碼Java字串
- 獲取字串中的所有漢字字串
- C#隨機產生漢字C#隨機
- java 漢字轉配音Java
- mysql 報錯json字串 中文漢字轉義的問題MySqlJSON字串
- JavaScript 刪除字串中非漢字內容JavaScript字串
- Java 判斷字串中是否含有漢字.Java字串
- JS 漢字轉換拼音JS
- UNICODE碼轉漢字Unicode
- 漢字轉拼音pl/sqlSQL
- C# 漢字轉拼音 使用微軟的Visual Studio International Pack 類庫提取漢字拼音首字母C#微軟
- javascript替換字串中的某個漢字JavaScript字串
- 阿拉伯-漢字-數字轉換
- PHP 將數字轉換為漢字PHP
- Awk 字串連線操作(字串轉數字,數字轉字串)字串
- C#字串轉換為數字的4種方法C#字串
- iOS漢字轉拼音的方法iOS
- JavaScript獲取字串的長度區分漢字JavaScript字串
- 正規表示式刪除字串中的漢字字串
- 檢測字串是否由字母或者漢字組成字串
- .Net(C#)獲取漢字聲母的方法C#
- (轉)C#漢字首拼獲取方法C#
- 簡單方法在C#中取得漢字的拼音的首字母(轉)C#
- js漢字轉換為拼音功能JS
- JavaPinyin4j(漢字轉拼音)JavaAPI
- php uncode 轉漢字編碼PHP
- php 漢字轉換成拼音 程式PHP