有点像现在流行的输入法中的特殊字符。


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<strlen($text);$c++) $symbol[$c]=explode("\n",$arr[$text[$c]]);for($c=0;$c<sizeof($symbol[0]);$c++):for($k=0;$k<strlen($text);$k++) $output.="&nbsp;".str_replace("\r","",$symbol[$k][$c]);$output.="\n";endfor;$this->asciiText=$output;}
}

实例:

<PRE>
<?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?>
</PRE>

可以通过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');
?>

php ASCII 字符转换 (汉字及特殊字符) 宽字符 (uft8/unicode)相关推荐

  1. 将字符转换成带有圆圈的字符

    将字符转换成带有圆圈的字符 private string Convert(int m) { switch (m) { case 1: return "①"; case 2: ret ...

  2. 计算字符串长度(可同时字母和汉字,字母占一个字符,汉字占2个字符)

    charCodeAt() 定义和用法 : charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 方法 charCodeAt() 与 ...

  3. 字符转换工具,仿牛族字符转换

    ;没有设置错误陷阱,仿牛族字符转换.因为牛族老是被金山灭掉,所以就自己仿了个.功能简单只是Ascii与char的互转而已. ;#Region**** 参数创建于 ACNWrapper_GUI **** ...

  4. html用字符转换成表情,表情符号emojiUTF-8编码、Unicode、HTML显示

    一.把含有表情的字符串编码 ---- UTF-8 - (NSString *)emojiEncode{ NSString *uniStr = [NSString stringWithUTF8Strin ...

  5. 摘:常用函数(包括:宽字符函数、普通C函数 )

    只要看见"W"就是宽的意思,左边wchar_t,右边char 字符分类: 宽字符函数            普通C函数            描述 iswalnum()       ...

  6. c++ unicode转换中文_彻底弄懂UTF-8、Unicode、宽字符、locale

    结论 宽字符类型wchar_t locale 为什么需要宽字符类型 多字节字符串和宽字符串相互转换 最近使用到了wchar_t类型,所以准备详细探究下,没想到水还挺深,网上的资料大多都是复制粘贴,只有 ...

  7. C语言学习(十二)C语言中的字符(宽字符与窄字符)、从字符谈谈C语言的编码、转义字符

    C语言学习(十二)C语言中的字符(宽字符与窄字符).从字符谈谈C语言的编码.转义字符 目录 C语言学习(十二)C语言中的字符(宽字符与窄字符).从字符谈谈C语言的编码.转义字符 英文字符 字符的表示 ...

  8. 彻底解密C++宽字符

    作者:wangjieest 1.从char到wchar_t "这个问题比你想象中复杂" 从字符到整数 char 是一种整数类型,这句话的含义是,char所能表示的字符在C/C++中 ...

  9. 字节 位 字符 宽字符

    bit(位)0000 0001 其中的一位. byte(字节)=8位  ,1111 1111 = 1字节. Kb(KB)=1024字节, 也是1Kb. 1024Kb=1MB(兆). 备注:编程时分配内 ...

  10. 刨根问底:C++中宽字符类型(wchar_t)的编码一定是Unicode?长度一定是16位?

    转发的:https://www.ituring.com.cn/article/111027的文章 刨根问底:C++中宽字符类型(wchar_t)的编码一定是Unicode?长度一定是16位? cons ...

最新文章

  1. 深度学习LiDAR定位:L3-Net
  2. Find The Multiple POJ - 1426(只包含01的十进制倍数(同余模定理))
  3. Android开发之ViewPager滑动页面效果实现(源代码分享)
  4. 通过telnet命令查看memcache运行状态
  5. python现在第几版-2020 年10月编程语言排行榜,Python 排名逼近第二
  6. python黑客攻防入门下载-Python键盘钩取的自我理解(来源于《Python黑客攻防入门》)...
  7. web第6次作业position
  8. iis6 开启options方法_《王者荣耀》暗夜危机什么时候开启 暗夜危机开启时间
  9. TinyFrame开篇:基于CodeFirst的ORM
  10. 淘宝商品比价定向爬虫
  11. 2009国家公务员面试过关点点通
  12. 2022最新H3CSE认证备考练习题,错过等明年
  13. 51单片机汇编程序,温度报警项目
  14. 天线接口 IPEX接口 SMA接口 U.FL、IPX 天线的工作原理 天线的种类
  15. 帆软单点登录_平台系统单点登录接口
  16. GAX (Guidance Automation Extensions) 与 GAT (Guidance Automation Toolkit)
  17. Python必会内置函数
  18. [SDIO] SD card 初始化及常用命令解析(附波形,uboot代码)
  19. 怎样清理苹果手机内存空间_你还不知道?苹果手机这样清理垃圾,轻松腾出10G内存!...
  20. 好消息!不用再花冤枉钱登陆Facebook啦!

热门文章

  1. 24 PP配置-生产车间控制-定义工单号码范围
  2. 云服务器运行gpu程序很卡,请问怎样才使程序在GPU上运行?
  3. php返回上一层的函数6,[PHP]实用函数6第1/2页
  4. odbc驱动程序管理器连接未打开_Windows 10 怎么修复 Windows 中的 Wi-Fi 连接问题,我教你...
  5. Android ble连接过程,Android开发之ble蓝牙
  6. print_w php,THINKPHP的dump打印数组函数,输出在浏览器非常友好。
  7. torchvision.datasets.ImageFolder使用详解
  8. ie7中overflow:hidden无效解决办法
  9. jupyter问题: failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
  10. python图像增强_【Tool】Augmentor和imgaug——python图像数据增强库