首页 新闻 会员 周边 捐助

字符串转换问题

0
悬赏园豆:5 [已解决问题] 解决于 2011-10-20 10:06

如何使用c#将字符串 Š  转换成字符串Š

问题补充:

向html页面放入一个文本标签,标签的值设置为Š使用浏览器查看,看到的字符就是Š。这是浏览器对字符Š进行了解码操作,看到了字符Š对应的可显示字符。

但是,基本的asc ii码不包含该字符。从ISO/IEC 8859-1中可以找到对应的字符编码,如下图所示:

ISO/IEC 8859-1
  x0x1x2x3x4x5x6x7x8x9xAxBxCxDxExF
0x  
1x  
2x SP ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~  
8x  
9x  
Ax NBSP ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ SHY ® ¯
Bx ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
Cx À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
Dx Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
Ex à á â ã ä å æ ç è é ê ë ì í î ï
Fx ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

 &#138;中138对应的64进制为8A,从上表中可以看出,8A没有定义可显示字符,是控制字符。但是浏览器却很聪明的识别为Š。有谁知道这种对应关系是怎么样的?

排除这种特殊的控制字符,其余的可显示字符可以使用System.Web.HttpUtility.HtmlDecode解决。

地之雾的主页 地之雾 | 初学一级 | 园豆:150
提问于:2011-10-19 11:21
< >
分享
最佳答案
0

是 System.Web.HttpUtility.HtmlDecode(字符串) 吗?

收获园豆:2
LCM | 大侠五级 |园豆:6876 | 2011-10-19 14:01
其他回答(6)
1

字符串转换,你自己替换一下不就好了

string aaa="aaaa&#138aaa";
aaa.Replace("&#138","Š")

注意你的目标字符串用UTF-8文件可能保存不了,是乱码,所以你要用西方文件格式,显示的时候也要转换编码格式才可以显示出来,要不就是乱码

 


收获园豆:1
hbren | 园豆:684 (小虾三级) | 2011-10-19 11:27

我事先没有说清楚,我需要的是一个方法,把类似于&#xxx;的字符转换成解码后的字符,不是针对某一个字符进行处理。

支持(0) 反对(0) 地之雾 | 园豆:150 (初学一级) | 2011-10-19 11:44

@地之雾: 带“&#” 是啥子字符串哦,什么编码格式,我怎么不常见

支持(0) 反对(0) hbren | 园豆:684 (小虾三级) | 2011-10-19 14:25
0

大家还是看不懂的你问题。

是否是&#xxx中的XXX是ascii?

想飞 | 园豆:205 (菜鸟二级) | 2011-10-19 13:14
0

你的是加密后的文件内容吗,

如果是的话,用什么加密的,就用什么解密

比如 MD5

caimeng | 园豆:215 (菜鸟二级) | 2011-10-19 13:45
0

好像只能自己写哦

        public string XmlEncode(string xml) {
xml = xml.Replace("&lt;", "<");
xml = xml.Replace("&gt;", ">");
xml = xml.Replace("&amp;", "&");
xml = xml.Replace("&quot;", "\"");
xml = xml.Replace("&apos;", "'");
return xml;
}
收获园豆:1
laaaaaa | 园豆:241 (菜鸟二级) | 2011-10-19 14:49
0

你那个意思是html编码了么?比如说html里面的 &nbsp;就是空格。。。

收获园豆:1
顾晓北 | 园豆:10898 (专家六级) | 2011-10-19 15:09
0

不太清楚你的需求是什么

artwl | 园豆:16736 (专家六级) | 2011-10-19 18:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册