\uXXXX 的取代法
事緣有個project, 佢地send 黎d data 的中文字都是用 \uXXXX 的方式存在
佢地又死都唔肯改
咁點樣解決呢 ?
用c#度打 "\u5b89\u672c\u74b0\u7403\u4e9e\u592a\u80a1\u7968\u57fa\u91d1",
e ... 好正常咁出到 "安本環球亞太股票基金"
Console.Writeline("\u5b89\u672c\u74b0\u7403\u4e9e\u592a\u80a1\u7968\u57fa\u91d1")
出左一堆問號 .. OK. .. 肯定係code page 問題
跟住就埋首於點轉喇
用 getbytes ? failed, 點轉都係一堆問號
然後就有d 頭緒, 會唔會係c# 自己convert呢 ?
搵左好耐source 都係講將一個字轉, 冇講成串string咁轉
找了半日 .... 原來是咁簡單的
private static ConvertUTF8String(string input){
Regex rx = new Regex(@"\\[u]([0-9A-F]{4})", RegexOptions.IgnoreCase);
return rx.Replace(input, match => Convert.ToString((char) Int32.Parse(match.Value.Substring(2), NumberStyles.HexNumber)));
}
解釋一看就明
Labels: C#

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home