the "two methods". NET Unicode Kanji convert each other=========================================//Kanji to Unicode encoding (ASCII)Private stringStringtounicode (stringSrctext) { stringDST =""; Char[] src =Srctext.tochararray (); for(inti =0; I < SRC. Length; i++) { byte[] bytes =Encoding.Unicode.GetBytes (Src[i]. ToString ()); stringstr =@"\u"+ bytes[1]. ToString ("X2") + bytes[0]. ToString ("X2"); DST+=str; } returnDST; } //to Kanji srctext to remove the 4-bit characters after \uusingSystem.Globalization;Private stringTOCN (stringSrctext) { stringstr =Srctext; byte[] bytes =New byte[2]; bytes[1] =byte. Parse (int. Parse (str. Substring (0,2), Numberstyles.hexnumber). ToString ()); bytes[0] =byte. Parse (int. Parse (str. Substring (2), Numberstyles.hexnumber). ToString ()); returnEncoding.Unicode.GetString (bytes); } ================================================================ Public Static stringCONVERTTOGB (stringunicodestring) { string[] Strarray = Unicodestring.split (New string[] {@"u"}, Stringsplitoptions.none); stringresult =string. Empty; for(inti =0; i < strarray.length; i++) { if(Strarray[i]. Trim () = =""|| Strarray[i]. Length <2|| Strarray.length <=1) {result+ = i = =0? Strarray[i]:@"u"+ Strarray[i];Continue; } for(intj = Strarray[i]. Length >4?4: Strarray[i]. Length; J >=2; j--) { Try{result+=Char. ConvertFromUtf32 (Convert.ToInt32 (strarray[i). Substring (0, j), -)) +Strarray[i]. Substring (j); Break; } Catch { Continue; } } } returnresult; } Public Static stringConverttounicode (stringStrgb) { Char[] CHS = Strgb.tochararray ();stringresult =string. Empty;foreach(CharCinchCHS) {Result+=@"u"+Char. ConvertToUtf32 (C.tostring (),0). ToString ("x"); } returnresult; }
/// <summary> ///conversion between normal string and Unicode string/// </summary> Public Static classStringtounicode {/// <summary> ///string converted to Unicode code string/// </summary> /// <param name= "s" ></param> /// <returns></returns> Public Static stringStringtounicode (strings) {Char[] Charbuffers =S.tochararray (); byte[] buffer; StringBuilder SB=NewStringBuilder (); for(inti =0; I < Charbuffers. Length; i++) {buffer=System.Text.Encoding.Unicode.GetBytes (Charbuffers[i]. ToString ()); Sb. Append (String.Format ("//u{0:x2}{1:x2}", buffer[1], buffer[0])); } returnsb. ToString (); } /// <summary> ///Unicode string converted to normal string/// </summary> /// <param name= "Srctext" ></param> /// <returns></returns> Public Static stringUnicodetostring (stringSrctext) { stringDST =""; stringsrc =Srctext; intLen = srctext.length/6; for(inti =0; I <= Len-1; i++) { stringstr =""; STR= src. Substring (0,6). Substring (2); SRC= src. Substring (6); byte[] bytes =New byte[2]; bytes[1] =byte. Parse (int. Parse (str. Substring (0,2), Numberstyles.hexnumber). ToString ()); bytes[0] =byte. Parse (int. Parse (str. Substring (2,2), Numberstyles.hexnumber). ToString ()); DST+=Encoding.Unicode.GetString (bytes); } returnDST; } }
Convert. NET Unicode kanji to each other