急寻高手给翻译一下这段代码
时间:2010-08-27
来源:互联网
function _U2_Utf8_Gb($_C)
{
$_String = '';
if($_C < 0x80) $_String .= $_C;
elseif($_C < 0x800)
{
$_String .= chr(0xC0 | $_C>>6);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C < 0x10000){
$_String .= chr(0xE0 | $_C>>12);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
} elseif($_C < 0x200000) {
$_String .= chr(0xF0 | $_C>>18);
$_String .= chr(0x80 | $_C>>12 & 0x3F);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
}
return iconv('UTF-8', 'GB2312', $_String);
}
{
$_String = '';
if($_C < 0x80) $_String .= $_C;
elseif($_C < 0x800)
{
$_String .= chr(0xC0 | $_C>>6);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C < 0x10000){
$_String .= chr(0xE0 | $_C>>12);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
} elseif($_C < 0x200000) {
$_String .= chr(0xF0 | $_C>>18);
$_String .= chr(0x80 | $_C>>12 & 0x3F);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
}
return iconv('UTF-8', 'GB2312', $_String);
}
作者: wdxt206 发布时间: 2010-08-27
应该是汉化程序。

作者: sijinvwang 发布时间: 2010-08-27
新手上路,敬请关照!
作者: juqi 发布时间: 2010-08-27
utf-8编码转换为gb编码的算法。
utf-8编码字符的长度是是根据编码区变化的,1~4个字节的长度都有(不定长),楼主提供的代码根据区位的不同,分4种情况来转换。比如 if($_C < 0x80),0x80是十进制的128,这个条件是转换ASCII编码字符,在GB编码和utf-8编码中ASCII是相同的。
具体的编码细节,需要参考GB和utf-8编码规范。
utf-8编码字符的长度是是根据编码区变化的,1~4个字节的长度都有(不定长),楼主提供的代码根据区位的不同,分4种情况来转换。比如 if($_C < 0x80),0x80是十进制的128,这个条件是转换ASCII编码字符,在GB编码和utf-8编码中ASCII是相同的。
具体的编码细节,需要参考GB和utf-8编码规范。
作者: lajp 发布时间: 2010-08-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28