C# Unicode (\uxxxx) 和 中文 變數互轉
C# Unicode (\uxxxx) 和 中文 變數互轉
資料來源:http://trufflepenne.blogspot.com/2013/03/cunicode.html
GOOGLE: C# \uXXXX
https://www.cnblogs.com/netlog/p/15911016.html C#字符串Unicode转义序列编解码
https://docs.microsoft.com/zh-tw/dotnet/api/system.text.regularexpressions.regex.unescape?view=net-6.0
https://www.cnblogs.com/sntetwt/p/11218087.html [C# 將非英數字轉成UNICODE]
Code
//--- //單純只針對非英數字(中文字)部分轉Unicode編碼 static string StringToUnicode(string text) { //https://www.cnblogs.com/sntetwt/p/11218087.html string result = ""; for (int i = 0; i < text.Length; i++) { if ((int)text[i] > 32 && (int)text[i] < 127) { result += text[i].ToString(); } else result += string.Format("\\u{0:x4}", (int)text[i]); } return result; } //---單純只針對非英數字(中文字)部分轉Unicode編碼
/*使用範例 Console.WriteLine(StringToUnicode("廖")); //UTF-8 轉中文 String result00 = string.Format(@"\u"+"{0:x4}", 24278); String result01 = "\u5ed6"; String StrBuf00 = UnescapeUnicode(result00+"jashliao中文1234"); String StrBuf01 = StringToUnicode(result01); Console.Write(UnicodeToString(StrBuf01)); */ static string StringToUnicode(string srcText) { //http://trufflepenne.blogspot.com/2013/03/cunicode.html string dst = ""; char[] src = srcText.ToCharArray(); for (int i = 0; i < src.Length; i++) { byte[] bytes = Encoding.Unicode.GetBytes(src[i].ToString()); string str = @"\u" + bytes[1].ToString("X2") + bytes[0].ToString("X2"); dst += str; } return dst; } static string UnicodeToString(string srcText) { //http://trufflepenne.blogspot.com/2013/03/cunicode.html string dst = ""; string src = srcText; int len = srcText.Length / 6; for (int i = 0; i <= len - 1; i++) { string str = ""; 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), System.Globalization.NumberStyles.HexNumber).ToString()); bytes[0] = byte.Parse(int.Parse(str.Substring(2, 2), System.Globalization.NumberStyles.HexNumber).ToString()); dst += Encoding.Unicode.GetString(bytes); } return dst; } public static string UnescapeUnicode(string str) // 将unicode转义序列(\uxxxx)解码为字符串 { //GOOGLE: C# \uXXXX //https://www.cnblogs.com/netlog/p/15911016.html C#字符串Unicode转义序列编解码 //https://docs.microsoft.com/zh-tw/dotnet/api/system.text.regularexpressions.regex.unescape?view=net-6.0 return (System.Text.RegularExpressions.Regex.Unescape(str)); }
4 thoughts on “C# Unicode (\uxxxx) 和 中文 變數互轉”
C# UNICODE (\UXXXX) 和 中文 變數互轉
C#字符串Unicode轉義序列編解碼
將unicode轉義(轉換)序列(\uxxxx)解碼為字符串(字串)
通過替換爲轉義碼來轉義最小的字符集(\、*、+、?、|、{、[、(、)、^、$、.、# 和空白)。這將指示正則表達式引擎按原義解釋這些字符而不是解釋爲元字符。
C# int 轉 HEX 字串(\XOO)
using System;
class Program
{
static void Main()
{
int num = 255;
Console.WriteLine(@"int2\x : " + num + " ->" + string.Format(@"\x{0:x2}", 255)); //255 -> \xff
//---
int nL = 45;
int nH = 0;
string strCmd = "\x1d" + "$" + (char)nL + (char)nH; // 垂直起始位置 (nL+(nH*256))*0.125=60*0.125=7.5mm
byte[] data = Encoding.GetEncoding("big5").GetBytes(strCmd);
}
}
C# 印出 ASCII code 的 Unicode (\uxxxx)
https://learn.microsoft.com/zh-tw/dotnet/api/system.string.toupper?view=net-8.0
using System;
public class Example
{
public static void Main()
{
int n = 0;
for (int ctr = 0x20; ctr {2} (\u+{3}) ",
string1,
Convert.ToUInt16(string1[0]).ToString("X4"),
upperString,
Convert.ToUInt16(upperString[0]).ToString("X4"));
n++;
if (n % 2 == 0) Console.WriteLine();
}
}
}
}
// The example displays the following output:
// a (\u+0061) --> A (\u+0041) b (\u+0062) --> B (\u+0042)
// c (\u+0063) --> C (\u+0043) d (\u+0064) --> D (\u+0044)
// e (\u+0065) --> E (\u+0045) f (\u+0066) --> F (\u+0046)
// g (\u+0067) --> G (\u+0047) h (\u+0068) --> H (\u+0048)
// i (\u+0069) --> I (\u+0049) j (\u+006A) --> J (\u+004A)
// k (\u+006B) --> K (\u+004B) l (\u+006C) --> L (\u+004C)
// m (\u+006D) --> M (\u+004D) n (\u+006E) --> N (\u+004E)
// o (\u+006F) --> O (\u+004F) p (\u+0070) --> P (\u+0050)
// q (\u+0071) --> Q (\u+0051) r (\u+0072) --> R (\u+0052)
// s (\u+0073) --> S (\u+0053) t (\u+0074) --> T (\u+0054)
// u (\u+0075) --> U (\u+0055) v (\u+0076) --> V (\u+0056)
// w (\u+0077) --> W (\u+0057) x (\u+0078) --> X (\u+0058)
// y (\u+0079) --> Y (\u+0059) z (\u+007A) --> Z (\u+005A)
// à (\u+00E0) --> À (\u+00C0) á (\u+00E1) --> Á (\u+00C1)
// â (\u+00E2) --> Â (\u+00C2) ã (\u+00E3) --> Ã (\u+00C3)
// ä (\u+00E4) --> Ä (\u+00C4) å (\u+00E5) --> Å (\u+00C5)
// æ (\u+00E6) --> Æ (\u+00C6) ç (\u+00E7) --> Ç (\u+00C7)
// è (\u+00E8) --> È (\u+00C8) é (\u+00E9) --> É (\u+00C9)
// ê (\u+00EA) --> Ê (\u+00CA) ë (\u+00EB) --> Ë (\u+00CB)
// ì (\u+00EC) --> Ì (\u+00CC) í (\u+00ED) --> Í (\u+00CD)
// î (\u+00EE) --> Î (\u+00CE) ï (\u+00EF) --> Ï (\u+00CF)
// ð (\u+00F0) --> Ð (\u+00D0) ñ (\u+00F1) --> Ñ (\u+00D1)
// ò (\u+00F2) --> Ò (\u+00D2) ó (\u+00F3) --> Ó (\u+00D3)
// ô (\u+00F4) --> Ô (\u+00D4) õ (\u+00F5) --> Õ (\u+00D5)
// ö (\u+00F6) --> Ö (\u+00D6) ø (\u+00F8) --> Ø (\u+00D8)
// ù (\u+00F9) --> Ù (\u+00D9) ú (\u+00FA) --> Ú (\u+00DA)
// û (\u+00FB) --> Û (\u+00DB) ü (\u+00FC) --> Ü (\u+00DC)
// ý (\u+00FD) --> Ý (\u+00DD) þ (\u+00FE) --> Þ (\u+00DE)
// ÿ (\u+00FF) --> Ÿ (\u+0178) ā (\u+0101) --> Ā (\u+0100)
// ă (\u+0103) --> Ă (\u+0102) ą (\u+0105) --> Ą (\u+0104)
// ć (\u+0107) --> Ć (\u+0106) ĉ (\u+0109) --> Ĉ (\u+0108)
// ċ (\u+010B) --> Ċ (\u+010A) č (\u+010D) --> Č (\u+010C)
// ď (\u+010F) --> Ď (\u+010E) đ (\u+0111) --> Đ (\u+0110)
// ē (\u+0113) --> Ē (\u+0112) ĕ (\u+0115) --> Ĕ (\u+0114)
// ė (\u+0117) --> Ė (\u+0116) ę (\u+0119) --> Ę (\u+0118)
// ě (\u+011B) --> Ě (\u+011A) ĝ (\u+011D) --> Ĝ (\u+011C)
// ğ (\u+011F) --> Ğ (\u+011E) ġ (\u+0121) --> Ġ (\u+0120)
// ģ (\u+0123) --> Ģ (\u+0122) ĥ (\u+0125) --> Ĥ (\u+0124)
// ħ (\u+0127) --> Ħ (\u+0126) ĩ (\u+0129) --> Ĩ (\u+0128)
// ī (\u+012B) --> Ī (\u+012A) ĭ (\u+012D) --> Ĭ (\u+012C)
// į (\u+012F) --> Į (\u+012E) ı (\u+0131) --> I (\u+0049)
// ij (\u+0133) --> IJ (\u+0132) ĵ (\u+0135) --> Ĵ (\u+0134)
// ķ (\u+0137) --> Ķ (\u+0136) ĺ (\u+013A) --> Ĺ (\u+0139)
// ļ (\u+013C) --> Ļ (\u+013B) ľ (\u+013E) --> Ľ (\u+013D)
// ŀ (\u+0140) --> Ŀ (\u+013F) ł (\u+0142) --> Ł (\u+0141)
// ń (\u+0144) --> Ń (\u+0143) ņ (\u+0146) --> Ņ (\u+0145)
// ň (\u+0148) --> Ň (\u+0147) ŋ (\u+014B) --> Ŋ (\u+014A)
// ō (\u+014D) --> Ō (\u+014C) ŏ (\u+014F) --> Ŏ (\u+014E)
// ő (\u+0151) --> Ő (\u+0150) œ (\u+0153) --> Œ (\u+0152)
// ŕ (\u+0155) --> Ŕ (\u+0154) ŗ (\u+0157) --> Ŗ (\u+0156)
// ř (\u+0159) --> Ř (\u+0158) ś (\u+015B) --> Ś (\u+015A)
// ŝ (\u+015D) --> Ŝ (\u+015C) ş (\u+015F) --> Ş (\u+015E)
// š (\u+0161) --> Š (\u+0160) ţ (\u+0163) --> Ţ (\u+0162)
// ť (\u+0165) --> Ť (\u+0164) ŧ (\u+0167) --> Ŧ (\u+0166)
// ũ (\u+0169) --> Ũ (\u+0168) ū (\u+016B) --> Ū (\u+016A)
// ŭ (\u+016D) --> Ŭ (\u+016C) ů (\u+016F) --> Ů (\u+016E)
// ű (\u+0171) --> Ű (\u+0170) ų (\u+0173) --> Ų (\u+0172)
// ŵ (\u+0175) --> Ŵ (\u+0174) ŷ (\u+0177) --> Ŷ (\u+0176)
// ź (\u+017A) --> Ź (\u+0179) ż (\u+017C) --> Ż (\u+017B)
// ž (\u+017E) --> Ž (\u+017D)