在C#中如何将将utf8的一段代码转化成中文。 C#如何将UTF8的编码转回汉字?

C# WINFORM \uff0c\u5982\u4f55\u5c06\u4e00\u4e2a\u4e2d\u6587\u5b57\u7b26\u4e32\u8f6c\u6362\u6210UTF-8

using System.Text;

byte[] buffer = Encoding.GetEncoding("utf-8").GetBytes("\u4e2d\u56fd");
string str = "";

foreach (byte b in buffer) str += string.Format("%{0:X}", b);

\u3000\u3000xxxx\u8868\u793a\u4e00\u4e2a\u5b57\u7b26\uff0cxxxx\u662f16\u8fdb\u5236\u8868\u793a\u8fd9\u4e2a\u5b57\u7b26\u5728\u5b57\u7b26\u96c6\u7684\u7f16\u53f7\uff0c\u53ea\u8981\u628axxxx\u8f6c\u6362\u6210\u5341\u8fdb\u5236\u7136\u540e\u627e\u5230\u5bf9\u5e94\u7684\u5b57\u7b26\u5c31\u884c\u4e86\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a
\u3000\u3000using System.Text.RegularExpressions;
\u3000\u3000private void button1_Click(object sender, EventArgs e)
\u3000\u3000{
\u3000\u3000string sourceStr = File.ReadAllText("d:\\1.txt");
\u3000\u3000Regex regex = new Regex(@"\\u(\w{4})");
\u3000\u3000string result = regex.Replace(sourceStr, delegate(Match m)
\u3000\u3000{
\u3000\u3000string hexStr = m.Groups[1].Value;
\u3000\u3000string charStr = ((char)int.Parse(hexStr, System.Globalization.NumberStyles.HexNumber)).ToString();
\u3000\u3000return charStr;
\u3000\u3000});
\u3000\u3000MessageBox.Show(result);
\u3000\u3000string test = "\u73e0\u6d77";//\u5982\u679c\u76f4\u63a5\u5728\u5b57\u7b26\u4e32\u4e0a\u8d4b\u503c\u4e3a\u5341\u516d\u8fdb\u5236\u7684\u5b57\u7b26\uff0c\u7a0b\u5e8f\u5728\u7f16\u8bd1\u7684\u65f6\u5019\u4f1a\u81ea\u5df1\u7f16\u8bd1\u4e3a\u5bf9\u5e94\u7684\u5b57\u7b26\u3002
\u3000\u3000MessageBox.Show(test);//\u76f4\u63a5\u663e\u793a\u4e3a\u201c\u6c49\u5b57\u201d\u4e0d\u9700\u8981\u8f6c\u6362\u3002
\u3000\u3000}

\uxxxx表示一个字符,xxxx是16进制表示这个字符在字符集的编号,你只要把xxxx转换成十进制然后找到对应的字符就行了。

代码如下:

using System.Text.RegularExpressions;
private void button1_Click(object sender, EventArgs e)
{
string sourceStr = File.ReadAllText("d:\\1.txt");
Regex regex = new Regex(@"\\u(\w{4})");
string result = regex.Replace(sourceStr, delegate(Match m)
{
string hexStr = m.Groups[1].Value;
string charStr = ((char)int.Parse(hexStr, System.Globalization.NumberStyles.HexNumber)).ToString();
return charStr;
});
MessageBox.Show(result);
string test = "\u73e0\u6d77";//如果直接在字符串上赋值为十六进制的字符,程序在编译的时候会自己编译为对应的字符。
MessageBox.Show(test);//直接显示为“珠海”不需要转换。
}



这明显不是utf-8,就是unicode或者或utf-16,不要滥用专业术语
具体的转换参见
http://rritw.com/w3school/js/jsref_regexp_unicode_hex.html
http://www.cnblogs.com/ecalf/archive/2012/09/04/unicode.html
http://netwjx.github.io/blog/2012/07/07/encode-and-decode-unicode-escape-string/

这是JOSN 对象,不需要转化

//utf-8 转换 gb2312
//gb2312 是可以显示汉字的
private string UTF8ToGB2312(string str)
{
try
{
Encoding utf8 = Encoding.GetEncoding(65001);
Encoding gb2312 = Encoding.GetEncoding("gb2312");//Encoding.Default ,936
byte[] temp = utf8.GetBytes(str);//str是你的字符串
byte[] temp1 = Encoding.Convert(utf8, gb2312, temp);
string result = gb2312.GetString(temp1);
return result;
}
catch
{
return null;
}
}
你调用这个方法试试 UTF-8格式的字符串str最后返回GB2312的字符串result

这个不都是UTF8吧 我找工具了也转化不了啊

  • C璇█閲,鍝簺鍙橀噺鏄瓨鏀惧湪鍫嗛噷,鍝簺鏄瓨鏀惧湪鏍堥噷?
    绛旓細鏀惧湪鍫嗛噷鐨勬暟鎹槸绠$悊鍛樿嚜宸卞紑杈熺┖闂村拰閲婃斁绌洪棿锛屽锛宯ew 鍜宮alloc銆傝屾斁鍦ㄦ爤閲岀殑鏁版嵁鏃惰绠楁満鑷姩鍒嗛厤鍐呭瓨鍜岄噴鏀剧殑锛屽鍙橀噺銆鍦╟/c++涓紝鍐呭瓨鍒嗘垚5涓尯锛屼粬浠垎鍒槸鍫嗐佹爤銆佽嚜鐢卞瓨鍌ㄥ尯銆佸叏灞/闈欐佸瓨鍌ㄥ尯鍜屽父閲忓瓨鍌ㄥ尯銆1锛屾爤锛氬氨鏄偅浜涚敱缂栬瘧鍣ㄥ湪闇瑕佺殑鏃跺欏垎閰嶏紝鍦ㄤ笉闇瑕佺殑鏃跺欒嚜鍔ㄦ竻妤氱殑鍙橀噺鐨勫瓨鍌ㄥ尯...
  • C璇█闂,鍦ㄤ綅杩愮畻涓,鎿嶄綔鏁版瘡鍙崇Щ涓浣,鍏剁粨鏋滅浉褰撲簬浠涔?鑻ュ乏绉1浣...
    绛旓細鍙崇Щ瀵圭鍙蜂綅鐨勫鐞嗗拰宸︾Щ涓嶅悓锛屽浜庢湁绗﹀彿鏁存暟鏉ヨ锛屾瘮濡俰nt绫诲瀷锛屽彸绉讳細淇濇寔绗﹀彿浣嶄笉鍙橈紝渚嬪锛歩nti=0x80000000锛沬=i>>1锛//i鐨勫间笉浼氬彉鎴0x40000000锛岃屼細鍙樻垚0xc0000000 2銆佸乏绉伙紝涔樹互2宸︾Щn浣嶄箻浠2鐨刵娆℃柟锛涘厛璇村乏绉伙紝宸︾Щ灏辨槸鎶婁竴涓暟鐨勬墍鏈変綅閮藉悜宸︾Щ鍔ㄨ嫢骞蹭綅锛鍦–涓敤<<杩愮畻绗︺
  • c鍦ㄨ溅鐗岄噷浠h〃浠涔堟剰鎬 c鐨勫悏绁ュ瘬鎰忔槸浠涔?
    绛旓細鎴戜滑鐨勮溅鐗屽彿閮芥槸鐢辨暟瀛楀拰瀛楁瘝缁勬垚鐨勶紝姣忎釜鍦板尯鐨勪笉鍚岄兘浼氱敱灞炰簬鍩庡競鍦版爣鐨勫瓧姣嶏紝鑰岃溅鐗屽彿涔熷彲浠ヨ鏄竴涓汉鐨勮韩浠藉彿锛屼篃鏄唬琛ㄤ簡涓涓煄甯傦紝鎵浠ユ瘡涓煄甯傞兘浼氱敱灞炰簬鑷繁鐨勬爣蹇楋紝閭d箞瀵逛簬C鍦ㄨ溅鐗岄噷浠h〃鐨勬椂浠涔堟剰鎬濆憿锛c鍦ㄨ溅鐗岄噷浠h〃浠涔堟剰鎬濇垜浠兘鐭ラ亾杞︾墝鍙风殑绗竴涓瓧鏄煄甯傜殑缂╁啓锛屼唬琛ㄤ簡涓涓煄甯傦紝濡...
  • C璇█鏄湪.h涓畾涔夌粨鏋勪綋杩樻槸鍦.c涓畾涔?
    绛旓細缁撴瀯浣撴槸涓绉嶇被鍨嬶紝瀹氫箟涓绉嶇被鍨嬫渶濂芥槸鍦.h瀹氫箟锛岃繖鏍峰叾浠栧湴鏂规兂鐢ㄨ繖涓粨鏋勪綋锛屽彧闇鍖呭惈姝.h鏂囦欢鍗冲彲锛屼絾鏄畾涔夌粨鏋勪綋鍙橀噺鐨勮瘽锛屾渶濂借浇.c鏂囦欢瀹氫箟锛堜负浜嗛槻姝㈤噸澶嶅畾涔夛紝鎵浠ヤ笉寤鸿鍦╟鏂囦欢涓畾涔夊彉閲忥級锛岀劧鍚..h閲岄潰extern澹版槑锛屽叾浠.c鏂囦欢鎯崇敤鍙渶鍖呭惈閭d釜.h鏂囦欢鍗冲彲 ...
  • c鍦ㄥ寲瀛︿腑鎸囦粈涔堟剰鎬
    绛旓細C鍦ㄥ寲瀛︿腑鏈変袱绉嶅惈涔夛細1銆佽〃绀烘祿搴︼紝鍗曚綅涓簃ol/L锛岃绠楀紡涓猴細C=n/V. C=1000蟻蠅/M銆傚惈涔夛細浠1鍗囨憾娑蹭腑鎵鍚憾璐ㄧ殑鎽╁皵鏁拌〃绀虹殑娴撳害銆備互鍗曚綅浣撶Н閲屾墍鍚憾璐ㄧ殑鐗╄川鐨勯噺锛堟懇灏旀暟锛夋潵琛ㄧず婧舵恫缁勬垚鐨勭墿鐞嗛噺锛屽彨浣滆婧惰川鐨勬懇灏旀祿搴︼紝鍙堢О璇ユ憾璐ㄧ墿璐ㄧ殑閲忔祿搴︺傛憾璐ㄥ惈閲忚秺澶氾紝娴撳害瓒婂ぇ銆傛祿搴﹀彲浠ョ敤涓瀹...
  • c璇█鐨 sleep鍑芥暟鍒板簳鍦ㄥ摢涓ご鏂囦欢閲屽晩
    绛旓細鍦<windows.h>閲岄潰銆傚湪VC涓娇鐢ㄦ椂锛宻leep鍑芥暟鐨勫ご鏂囦欢涓簑indows銆俬锛屽湪Linux涓嬶紝gcc缂栬瘧鍣ㄤ腑锛屼娇鐢ㄧ殑澶存枃浠跺洜gcc鐗堟湰鐨勪笉鍚岃屼笉鍚 鍦╒C涓紝Sleep涓殑绗竴涓嫳鏂囧瓧绗︿负澶у啓鐨"S"锛屽湪linux涓嬩笉瑕佸ぇ鍐欙紝鍦ㄦ爣鍑咰涓槸sleep锛屼笉瑕佸ぇ鍐欙紝绠鍗曠殑璇碫C鐢⊿leep锛屽埆鐨勪竴寰嬩娇鐢╯leep 鍦╒C涓紝Sleep锛堬級閲岄潰鐨...
  • c璇█鏁扮粍鍦ㄥ唴瀛樹腑鏄庝箞鍒嗛厤鐨?
    绛旓細C璇█浣跨敤鐨勫唴瀛樻槸铏氭嫙鍐呭瓨銆傛寜鐓у姛鑳界殑涓嶅悓鍦–璇█涓張灏嗚櫄鎷熷唴瀛樹负鍒嗕笁绫伙細鏍堝尯銆佸爢鍖恒侀潤鎬佹暟鎹尯锛屼笉绠℃槸鍗曚竴鍙橀噺杩樻槸鏁扮粍锛屽叾鍐呭瓨鍒嗛厤閮芥槸杩欐牱鍒嗙殑銆傚湪鏍堝尯銆侀潤鎬佹暟鎹尯銆佸爢鍖轰細鏈夌紪璇戝櫒璐熻矗鍒嗛厤銆佹搷浣滅郴缁熻礋璐g鐞嗭紝绋嬪簭鍛樺彲浠ュ湪鍫嗗尯浣跨敤malloc()鏉ュ姩鎬佸垎閰嶅爢鍐呭瓨鐨勯棶棰樸
  • C缂栫▼涓璿oid鍒板簳鏄粈涔堟剰鎬濆晩?鍦ㄤ粈涔堟儏鍐典笅鐢ㄨ繖涓?
    绛旓細鎰忔濇槸鈥滄棤绫诲瀷鈥濄傚父鐢ㄥ湪绋嬪簭缂栧啓涓瀹氫箟鍑芥暟鐨勫弬鏁扮被鍨嬨佽繑鍥炲笺佸嚱鏁颁腑鎸囬拡绫诲瀷杩涜澹版槑銆倂oid 鐨勪綔鐢細瀵瑰嚱鏁拌繑鍥炵殑闄愬畾锛岃繖绉嶆儏鍐垫垜浠瘮杈冨父瑙併傚鍑芥暟鍙傛暟鐨勯檺瀹氾紝杩欑鎯呭喌涔熸槸姣旇緝甯歌鐨勩備竴鑸父瑙佺殑灏辨槸杩欎袱绉嶆儏鍐碉細1銆佸綋鍑芥暟涓嶉渶瑕佽繑鍥炲煎兼椂锛屽繀椤讳娇鐢╲oid闄愬畾锛岃繖灏辨槸鎴戜滑鎵璇寸殑绗竴绉嶆儏鍐点
  • a>b!=c鍦 C璇█涓槸浠涔堟剰鎬
    绛旓細a>b锛=c鐨勬剰鎬濇槸鍏堟嬁a鍜宐杩涜澶у皬鐨勬瘮杈冿紝鐒跺悗鎷垮埌琛ㄨ揪寮廰>b鐨勫间笌c杩涜涓嶇瓑浜庣殑琛ㄨ揪寮忓垽鏂紝鐒跺悗寰楀嚭琛ㄨ揪寮忕殑缁撴灉銆備緥濡傦細褰揳=2锛宐=1锛宑=1銆傚垯璇彞鐨勬墽琛岃繃绋嬩负锛氬厛鎵цa>b锛屽洜涓篴=2锛宐=1锛屾墍浠>b杞寲涓2>1锛屾墽琛岀殑缁撴灉涓1锛屽洜涓鍦–璇█闈0鍗充负1銆傜劧鍚庡垽鏂1锛=1锛屽洜涓1=1锛屾墍浠ヨ...
  • C璇█鐨勫簱鍑芥暟鏀惧湪浠涔堝湴鏂(鍦ㄤ粈涔堢洰褰曢噷)?
    绛旓細C璇█鐨勫簱鍑芥暟鍦↙IB鐩綍閲岄潰銆傚簱鍑芥暟鏄皢鍑芥暟灏佽鍏ュ簱锛屼緵鐢ㄦ埛浣跨敤鐨勪竴绉嶆柟寮忋傛柟娉曟槸鎶婁竴浜涘父鐢ㄥ埌鐨勫嚱鏁扮紪瀹屾斁鍒颁竴涓枃浠堕噷锛屼緵涓嶅悓鐨勪汉杩涜璋冪敤銆傝皟鐢ㄧ殑鏃跺欐妸瀹冩墍鍦ㄧ殑鏂囦欢鍚嶇敤#include<>鍔犲埌閲岄潰灏卞彲浠ヤ簡銆備竴鑸槸鏀惧埌lib鏂囦欢閲岀殑銆
  • 扩展阅读:javascript入门 ... utf8中文对照表 ... c#嵌入式 ... c#是什么 ... utf8转中文 ... c#begininvoke ... c#入门 ... 中文utf8编码 ... utf8汉字编码对照表 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网