前言

对接联通的接口,让我学会了不少PHP偏门函数....,主要对方用的py,我这用的PHP,人家一个函数解决了,

我这还要自己写方法,也是比较蛋疼,但是学到东西还是很开心的~

代码

字符串转为ASCII

/**
* 字符串转为ASCII
*
* @param string $str 需要转换的字符串
*
* @return string $asc ASCII码
*/
function ascii_encode($str)
{
$str = mb_convert_encoding($str, 'GBK');
$asc = '';
for ($i = 0; $i < strlen($str); $i++) {
$temp_str = dechex(ord($str[$i]));
$asc .= $temp_str[0].$temp_str[1];
}
return strtoupper($asc);
}

ASCII转字符串

/**
* ASCII转为字符串
*
* @param string $ascii ascii
*
* @return string $str 字符串
*/
function ascii_decode($sacii)
{
$asc = str_split(strtolower($sacii), 2);
$str ='';
for ($i = 0; $i < count($asc); $i++) {
$str.= chr(hexdec($asc[$i][0].$asc[$i][1]));
}
return mb_convert_encoding($str, 'UTF-8', 'GBK');
}

PHP——汉字完美转为ASCII码的更多相关文章

  1. PHP:json_encode 保持中文不被转为ASCII码

    echo json_encode(array('黄河之水天上来'),JSON_UNESCAPED_UNICODE);

  2. [Python]Unicode转ascii码的一个好方法

    写这篇文章的是一位外国人,他遇到了什么问题呢?比如有一个 Unicode 字符串他需要转为 ascii码: >>> title = u"Klüft skräms inför ...

  3. js 字符与ASCII码互转

    将字符转为ASCII码 var str = "A"; str.charCodeAt(); var str1 = 'a'; str1.charCodeAt(); 将ASCII码转为字 ...

  4. js字符与ASCII码互转的方法

    大写字母A-Z对应的ASCII码值是65-90 小写字母a-z对应的ASCII码值是97-122 将字母转为ascii码的方法: 将ascii码转为对应字母的方法:

  5. C语言中两位ASCII码可以表示汉字

    最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...

  6. 还是编码 汉字(GB2312和GBK)的ASCII码对照表

    GB2312和GBK每一个汉字由2个字节组成,这2个字节的ASCII码大小分别是:gb2312: high8 = 0xa1-->0xfe (161 - 254)low8 = 0xa1--> ...

  7. Java ascii码值转为输出ascii码

    Java ascii码值转为输出ascii码 public static void main(String[] args) { // TODO Auto-generated method stub S ...

  8. JAVA将汉字转换为全拼以及返回中文的首字母,将字符串转移为ASCII码

    import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseT ...

  9. php与ascii码

    首先 简单说一下历史,ascii码最开始是美国人搞出来的,用来干什么呢?我们知道,计算机只知道0和1,如果我们要计算机识别除了01之外的字符,例如 'a',我们要先告诉计算机‘1100001’就是'a ...

随机推荐

  1. QT QML与C++混搭

    "那些杀不死我的必使我更加强大"----尼采 QML与C++混合编程就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法. ML访问C++Qt集成了QML引擎和Q ...

  2. [hdu 4841]圆桌问题 | 约瑟夫问题 STL-vector

    原题 问题描述: 经典的约瑟夫问题,有2n个人,其中n个好人n个坏人,使得删去n人后,剩下的全为好人.m为每次数的人数. n<=32767 题解: 首先考虑n的范围,暴力肯定行不通,所以会想到线 ...

  3. Java基础笔试练习(十二)

    1.(C#.JAVA)扩展方法能访问被扩展对象的public成员 A.能 B.不能 答案: A 解析: 翻译一下,子类方法是否能够访问父类中的public成员. 2.如果子类要调用父类的构造函数,则通 ...

  4. Java开发笔记(一百三十七)JavaFX的标签

    前面介绍了JavaFX的窗口框架,其中舞台.场景.窗格都能与AWT/Swing体系的相关概念一一对应,不仅如此,JavaFX的常见控件也能在Swing中找到相应的控件.比如JavaFX的按钮控件名叫B ...

  5. CF991E Bus Number

    题意翻译 给你一个数字序列A(长度不超过18位),问有多少个序列B满足①A中所有数字都一定要在B中出现过:②B中所有数字也一定要在A中出现过:③序列B不能以0开头 输入 #1 97 输出 #1 2 解 ...

  6. 函数的练习3——python编程从入门到实践

    8-12 三明治: 编写一个函数,它接受顾客要在三明治中添加的一系列食材.这个函数只有一个参数(它收集函数调用中提供的所有食材),并打印一条消息,对顾客点的三明治进行概述.调用这个函数三次,每次提供不 ...

  7. tensorflow-简单的神经网络

    本次笔记是关于tensorflow1的代码,由于接触不久没有跟上2.0版本,这个代码是通过简单的神经网络做一个非线性回归任务,(如果用GPU版本的话第一次出错就重启) import tensorflo ...

  8. javascript 代码实例

    数组去重 function unique(arr){ if(!Array.isArray(arr)){ console.log('type error!'); return; } arr = arr. ...

  9. 百度云服务接口错误:Parameter invalid, the key input with filter parameter is not searchfilter column key

    百度LBS云服务接口: 地址:http://lbsyun.baidu.com/index.php?title=lbscloud/api/geosearch 访问接口:http://api.map.ba ...

  10. JPA、Hibernate、Spring data jpa之间的关系,以及和springboot的整合

    什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支 ...