phpASCII字符变换(汉字及特殊字符)宽字符(uft8/unicode)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpASCII字符变换(汉字及特殊字符)宽字符(uft8/unicode),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1780字,纯文字阅读大概需要3分钟。
内容图文
![phpASCII字符变换(汉字及特殊字符)宽字符(uft8/unicode)](/upload/InfoBanner/zyjiaocheng/219/4e7b35aa3385452c94eee44206f09f5c.jpg)
有点像现在流行的输入法中的特殊字符。
1. 英文字母或者数字转ASCII 效果如上
class:
class ascii { var $asciiText; function ascii($text,$style) { switch($style) { case 'graffiti': include "graffiti.font"; break; case 'banner': include 'banner.font'; break; default: include 'dos.font'; break; } $text=strtolower($text); for($c=0;$c?asciiText=$output; } }
实例:
include_once("ascii.class.php"); // includes the class's file $text=new ascii("justcoding","doc"); // first parameter is text that will be converted, second is the font style print $text->asciiText; // asciiText is variable of converted text ?>?可以通过css控制字符大小。具体见附件。
2. 汉字转ASCII 效果为 “星期天 ” 就是 “星期天”
function encode($c) { $len = strlen($c); $a = 0; while ($a < $len) { $ud = 0; if (ord($c{$a}) >=0 && ord($c{$a})<=127) { $ud = ord($c{$a}); $a += 1; } else if (ord($c{$a}) >=192 && ord($c{$a})<=223) { $ud = (ord($c{$a})-192)*64 + (ord($c{$a+1})-128); $a += 2; } else if (ord($c{$a}) >=224 && ord($c{$a})<=239) { $ud = (ord($c{$a})-224)*4096 + (ord($c{$a+1})-128)*64 + (ord($c{$a+2})-128); $a += 3; } else if (ord($c{$a}) >=240 && ord($c{$a})<=247) { $ud = (ord($c{$a})-240)*262144 + (ord($c{$a+1})-128)*4096 + (ord($c{$a+2})-128)*64 + (ord($c{$a+3})-128); $a += 4; } else if (ord($c{$a}) >=248 && ord($c{$a})<=251) { $ud = (ord($c{$a})-248)*16777216 + (ord($c{$a+1})-128)*262144 + (ord($c{$a+2})-128)*4096 + (ord($c{$a+3})-128)*64 + (ord($c{$a+4})-128); $a += 5; } else if (ord($c{$a}) >=252 && ord($c{$a})<=253) { $ud = (ord($c{$a})-252)*1073741824 + (ord($c{$a+1})-128)*16777216 + (ord($c{$a+2})-128)*262144 + (ord($c{$a+3})-128)*4096 + (ord($c{$a+4})-128)*64 + (ord($c{$a+5})-128); $a += 6; } else if (ord($c{$a}) >=254 && ord($c{$a})<=255) { //error $ud = false; } $scill .= "&#$ud;"; } return $scill; } echo encode('日'); // 日 浏览器默认会解读,所以要看源代码3. utf-8 unicode 互转
// utf8 - unicode function utf8_unicode($c) { switch(strlen($c)) { case 1: return ord($c); case 2: $n = (ord($c[0]) & 0x3f) << 6; $n += ord($c[1]) & 0x3f; return $n; case 3: $n = (ord($c[0]) & 0x1f) << 12; $n += (ord($c[1]) & 0x3f) << 6; $n += ord($c[2]) & 0x3f; return $n; case 4: $n = (ord($c[0]) & 0x0f) << 18; $n += (ord($c[1]) & 0x3f) << 12; $n += (ord($c[2]) & 0x3f) << 6; $n += ord($c[3]) & 0x3f; return $n; } } echo utf8_unicode('以'); ?>?// unicode - utf8 function u2utf8($c) { $str=""; if ($c < 0x80) $str.=$c; else if ($c < 0x800) { $str.=chr(0xC0 | $c>>6); $str.=chr(0x80 | $c & 0x3F); } else if ($c < 0x10000) { $str.=chr(0xE0 | $c>>12); $str.=chr(0x80 | $c>>6 & 0x3F); $str.=chr(0x80 | $c & 0x3F); } else if ($c < 0x200000) { $str.=chr(0xF0 | $c>>18); $str.=chr(0x80 | $c>>12 & 0x3F); $str.=chr(0x80 | $c>>6 & 0x3F); $str.=chr(0x80 | $c & 0x3F); } return $str; } echo u2utf8('20197'); ?>?内容总结
以上是互联网集市为您收集整理的phpASCII字符变换(汉字及特殊字符)宽字符(uft8/unicode)全部内容,希望文章能够帮你解决phpASCII字符变换(汉字及特殊字符)宽字符(uft8/unicode)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】