作者MOONRAKER (㊣康少校是死到哪里去了)
看板PHP
标题Re: [请益] 比对16进位编码
时间Wed May 30 15:57:28 2012
今天特别凉,所以再写个小程式
http://paste.org/49868
程式以manifest()函数为中心,附有彩色标示-如果你真的拿去执行的话
用处是把字串内的字元个别拆开,显示hex code
一共展示三个字串
$str = "<p>\xc2\xa0</p><p>我是测试字串</p>";
$str2 = str_replace("\xC2\xA0", '', $str);
$str3 = preg_replace("/\xC2\xA0/i", '', $str);
manifest($str);
manifest($str2);
manifest($str3);
结果见以下附录,不管任何一种写法都可以去掉\xC2\xA0
不过这里的\xC2\xA0可以算是
人为插进去的
所以未必有真正复制原po遇到的状况。
但一般而言,去掉无法显示的特殊字元方法也就如此。
又者,c2 a0在utf-8中定义为non-breaking space。
所以这是否乱码?视你的unicode支援如何而定。
(附录)执行结果
<p>?</p><p>我是测试字串</p>
< (3c) p (70) > (3e) ? (c2 a0) < (3c) / (2f) p (70)
> (3e) < (3c) p (70) > (3e) 我 (e6 88 91) 是 (e6 98 af)
测 (e6 b8 ac) 试 (e8 a9 a6) 字 (e5 ad 97)
串 (e4 b8 b2) < (3c) / (2f) p (70) > (3e)
<p></p><p>我是测试字串</p>
< (3c) p (70) > (3e) < (3c) / (2f) p (70) > (3e) < (3c)
p (70) > (3e) 我 (e6 88 91) 是 (e6 98 af)
测 (e6 b8 ac) 试 (e8 a9 a6) 字 (e5 ad 97)
串 (e4 b8 b2) < (3c) / (2f) p (70) > (3e)
<p></p><p>我是测试字串</p>
< (3c) p (70) > (3e) < (3c) / (2f) p (70) > (3e) < (3c)
p (70) > (3e) 我 (e6 88 91) 是 (e6 98 af)
测 (e6 b8 ac) 试 (e8 a9 a6) 字 (e5 ad 97)
串 (e4 b8 b2) < (3c) / (2f) p (70) > (3e)
--
Google 关键字 : MPFC-TCP / 杀人笑话 / 包租婆也有过当罗莉的时候
Youtube关键字 : 脱衫脱裤 / 傻蛋奥运 / 宗教审讯 / 买张床 / 单车超人 / 讴歌金钱
*美发师登山队 http://tinyurl.com/dm6lh3 *Ypres 1914 http://tinyurl.com/b432jb
[蒙帝派松正体中文计画] https://www.youtube.com/user/JamesBondXD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.163.12.174
1F:推 piglon:谢谢你XD 秀出来的结果跟我在ide看的不一样 只剩下A0 05/30 16:57