对照http://en.wikipedia.org/wiki/UTF-7写了段转换代码

简介: 下午的时候,朋友问我有没有能对"abcd..."进行utf-7编码的工具。 utf-7编码时,“abcde...123()”等编码是可选的,而手上的几个工具都不对其进行编码(原因是节省空间)。

下午的时候,朋友问我有没有能对"abcd..."进行utf-7编码的工具。

utf-7编码时,“abcde...123()”等编码是可选的,而手上的几个工具都不对其进行编码(原因是节省空间)。

所以对照http://en.wikipedia.org/wiki/UTF-7写了段转换代码。

 

虽然逐个字符编码有点浪费空间,但是节省了开发时间。能用便好。

 

<?
$str="abcdefg12345<>;!";
echo utf7($str); //output:+AGE-+AGI-+AGM-+AGQ-+AGU-+AGY-+AGc-+ADE-+ADI-+ADM-+ADQ-+ADU-+ADw-+AD4-+ADs-+ACE-

function utf7($str) {
    $ret="";
    for($i=0; $i<strlen($str); $i++) {
        $ret .= "+".getChar($str[$i])."-";
    }
    return $ret;
}
function getChar($char) {
    //by linx ,2011-2-14
    $x=decbin(ord($char));
    $x=str_pad($x,16,'0',STR_PAD_LEFT);
    $x=str_pad($x,18,'0',STR_PAD_RIGHT);
    $table="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    return $table[base_convert(substr($x,0,6),2,10)].$table[base_convert(substr($x,6,6),2,10)].$table[base_convert(substr($x,12,6),2,10)];
}

 

目录
相关文章
|
安全 Linux 网络安全
Linux使用HTTP隧道代理代码示例模版
Linux使用HTTP隧道代理代码示例模版
149 0
|
小程序 API
钉钉小程序端https和http发送的实例代码
钉钉小程序端https和http发送的实例代码
490 1
|
网络协议 算法 Shell
来我们探究一下net/http 的代码流程
来我们探究一下net/http 的代码流程
157 0
|
3月前
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
305 90
|
1月前
|
安全 网络安全 流计算
修改代码以确保对SSL和HTTP异常的正确处理。
记得,在海上和代码世界里,风暴总是突如其来。但只要你的代码准备妥当,合理地处理SSL和HTTP异常,你的小船就能安全航行,最终到达它的目的地。
68 12
|
4月前
|
存储 缓存 搜索推荐
HTTP500代码怎么解决?常见的5xx网页错误及其原因
本文介绍了如何修复HTTP 500错误及常见的5xx网页错误。500错误表示服务器无法处理请求,可能由文件权限、脚本错误、数据库连接或配置问题引起。作为用户,可尝试重新加载页面、检查URL或清除缓存;作为网站所有者,需检查`.htaccess`文件、服务器日志、插件冲突及PHP版本等。此外,文章还列举了其他5xx错误(如502、503、504等)及其原因,帮助定位和解决服务器端问题,避免影响流量与搜索引擎排名。
1068 4
|
10月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
160 1
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
227 1
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
JSON 前端开发 搜索推荐
BoostCompass( http_server 模块 | 项目前端代码 )
BoostCompass( http_server 模块 | 项目前端代码 )
104 4
|
安全 Java 网络安全
HTTPS的TLS/SSL协议详解及Java代码示例
HTTPS的TLS/SSL协议详解及Java代码示例
833 0