var s = "藍色";
var gb2312 = Encoding.GetEncoding("gb2312");
var utf8 = Encoding.UTF8;
var gbBts = gb2312.GetBytes(s);
string utf8String = utf8.GetString(gbBts);
請問怎么把utf8String 轉換成“藍色”?
uj5u.com熱心網友回復:
var s = "藍色";
var gb2312 = Encoding.GetEncoding("gb2312");
var utf8 = Encoding.UTF8;
var gbBts = gb2312.GetBytes(s);
string gb2312str= gb2312.GetString(gbBts);
uj5u.com熱心網友回復:
不同編碼,轉換結果資訊有所丟失,因此并沒有嚴格意義上的“轉換回來”,必定有 bug。uj5u.com熱心網友回復:
當你使用 utf8.GetString(gbBts) 的時候,實際上管理的是 unicode 編碼的字串,dotNet 是基于 unicode 的。你這里把“張三”認為是“李四”,或者是是把貓當作老虎來畫,然后如果把 unicode 字串“轉換回”李四,已經不是李四了,再把(你認為的)李四當作張三來以為,實際上是錯誤來處理錯誤,bug 是在指數級地堆積。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/210352.html
標籤:C#
