PHP 將 文字 轉換成 &#xxxxx; UNICODE 碼

97 篇文章 7 订阅
97 篇文章 1 订阅
文字 與 UNICODE 互相轉換程式 (PHP 版)

<?php
$str = '我';

/* 將 '我' 轉換成 '25105' 或 '&# 25105;' */
// 使用 iconv
$unicode_html = base_convert(bin2hex(iconv('UTF-8', 'UCS-4', $str)), 16, 10); // 25105

// 使用 mb_convert_encoding
$unicode_html = base_convert(bin2hex(mb_convert_encoding($str, 'ucs-4', 'utf-8')), 16, 10); // 25105

// 補上 &#xxxxx;
$unicode_html = '&#' . base_convert(bin2hex(iconv("utf-8", "ucs-4", $str)), 16, 10) . ';'; // &# 25105;

// 將 &# 25105 轉回 '我'
$unicode_html = '&# 25105';
$str = mb_convert_encoding($unicode_html, 'UTF-8', 'HTML-ENTITIES'); // '我'
?>


JS-&#unicode;编码转换

var toHTML = {
on: function(str) {
var a = [],
i = 0;
for (; i < str.length;) a[i] = str.charCodeAt(i++);
return "&#" + a.join(";&#") + ";"
},
un: function(str) {
return str.replace(/&#(x)?([^&]{1,5});?/g,
function(a, b, c) {
return String.fromCharCode(parseInt(c, b ? 16 : 10))
})
}
};
alert(toHTML.on("\"请输\""));
alert(toHTML.un("大幅")); 

JS-unicode编码转换

var toUN = {
on: function(str) {
var a = [],
i = 0;
for (; i < str.length;) a[i] = ("00" + str.charCodeAt(i++).toString(16)).slice( - 4);
return "\\u" + a.join("\\u")
},
un: function(str) {
return unescape(str.replace(/\\/g, "%"))
}
};
alert(toUN.on("\"请输\""));
alert(toUN.un("\\u0022\\u8BF7\\u8F93\\u0022")); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值