关于字符串编码的问题!!!! 原因是这样的,我的字串里面是\u039C\u0395\u039D\u03A4 Volley ,输出是应该是ΜΕΝΤ Volley,但是我用JSON类拆分以后,发现变成了039C0395039D03A4 Volley,\u不见了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者怎么把\u039C\u0395\u039D\u03A4直接转成MENT 如果这样string str = "\u039C\u0395\u039D\u03A4 ";Console.WriteLine(str);输出的是MENT,但是如果我把\u039C\u0395\u039D\u03A4放到文件中,然后再读出来,再输出,显示的就是\u039C\u0395\u039D\u03A4,我想直接输出MENT http://bbs.csdn.net/topics/390721598 http://bbs.csdn.net/topics/390721598我用public static string FromUnicodeString( string str) { //最直接的方法Regex.Unescape(str); StringBuilder strResult = new StringBuilder(); if (!string.IsNullOrEmpty(str)) { string[] strlist = str.Replace("\\", "").Split('u'); try { for (int i = 1; i < strlist.Length; i++) { int charCode = Convert.ToInt32(strlist[i], 16); strResult.Append((char)charCode); } } catch (FormatException ex) { return Regex.Unescape(str); } } return strResult.ToString(); }可以得到的是这个样子的是前面的那个字符串,我要想转换成普通的MENT,前面那个我也不知道是什么格式的 http://bbs.csdn.net/topics/390721598后面那个才是正常的输出 这已经不是编码的问题了,你的这个 ΜΕΝΤ 是大写的希腊字母,小写是 μεντ,它就不是英文的MENT。 我小写的是正常的好吧,键盘里面输出就是MENT,而不是前面那种,不知道怎么转换前面那种,请教 int charCode = Convert.ToInt32(strlist[i], 16);这一句M的charCode值是924,正常情况下M的值应该不是924,正常的M输出的ASCII值是77 实际上Regex.Unescape(str),执行了这一句就输出了那些希腊字母 像这样的特殊字符只能替换,因为你也不知道那些特殊字符到底对应哪些英文字母,类似String.RemoveExtraSpace().RemoveHTMLTag().NCR2Text().Replace("(W)", "(w)")..Replace("\\u200C", "").Replace("\\u0421", "C").Replace("\\xED", "i").Replace("\\xC1", "A").Replace("\\xA0", " ").Replace("\\u039C", "M").Replace("\\u0395", "E").Replace("\\u039D", "N").Replace("\\u03A4", "T");有多少就替换多少,只想到这个笨办法 请问,Item属性 C#打印图片时,怎样使比较大的图片自动缩放地打印在一张A4纸上啊,需要具体代码,谢谢了? 怎样从终端输入整型? 请问如何用webbrowser自动点击网页中的一个按钮 【求助】ASP.NET中使用存储过程的问题! .net怎么引用com+组件? 求拦截winsock的send和recv的封装好的类库,任何语言都可以,只要C#能用的 如何格式化winform的datagrid中列的数值 [C#]不用IIS直接执行aspx文件中遇到的问题 招聘.net高手 like无法通过日期查询出结果 请问下关于VS 2015 C#发展趋势c# native
Console.WriteLine(str);输出的是MENT,但是如果我把\u039C\u0395\u039D\u03A4放到文件中,然后再读出来,再输出,显示的就是\u039C\u0395\u039D\u03A4,我想直接输出MENT
http://bbs.csdn.net/topics/390721598
http://bbs.csdn.net/topics/390721598
我用public static string FromUnicodeString( string str)
{
//最直接的方法Regex.Unescape(str);
StringBuilder strResult = new StringBuilder();
if (!string.IsNullOrEmpty(str))
{
string[] strlist = str.Replace("\\", "").Split('u');
try
{
for (int i = 1; i < strlist.Length; i++)
{
int charCode = Convert.ToInt32(strlist[i], 16);
strResult.Append((char)charCode);
}
}
catch (FormatException ex)
{
return Regex.Unescape(str);
}
}
return strResult.ToString();
}
可以得到的是这个样子的是前面的那个字符串,我要想转换成普通的MENT,前面那个我也不知道是什么格式的
http://bbs.csdn.net/topics/390721598
后面那个才是正常的输出
int charCode = Convert.ToInt32(strlist[i], 16);这一句M的charCode值是924,正常情况下M的值应该不是924,正常的M输出的ASCII值是77
String.RemoveExtraSpace().RemoveHTMLTag().NCR2Text().Replace("(W)", "(w)")..Replace("\\u200C", "").Replace("\\u0421", "C").Replace("\\xED", "i").Replace("\\xC1", "A").Replace("\\xA0", " ").Replace("\\u039C", "M").Replace("\\u0395", "E").Replace("\\u039D", "N").Replace("\\u03A4", "T");有多少就替换多少,只想到这个笨办法