急寻php高手翻译一段php代码

麻烦高手给我翻译一下这个函数,我对16进制什么的不了解。越详细越好,最好能逐句加注释。多谢了!function_U2_Utf8_Gb($_C){$_String='';i... 麻烦高手给我翻译一下这个函数,我对16进制什么的不了解。越详细越好,最好能逐句加注释。多谢了!
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);
}
这个函数的左右是什么呢?
展开
 我来答
阳光上的桥
2010-08-27 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
运算很简单:
.表示字符串的链接,.=表示把右边的字符串链接在左边变量的后面
|表示或运算,或运算的两个整数,分别转换为二进制形式,每一位对应进行或运算,或运算的规则是参加运算的两个二进制数只要有一个为1结果就为0,否则结果为0
>>表示移位运算,就是把参加运算的左边整数的二进制形式向右边移位指定位数,移动后左边添加0,右边的丢失。

另外,建议你看看UTF8的编码规则,就明白了为什么要这样运算。
dongjian7086
2010-08-27 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:159万
展开全部
学习了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0c90796
2010-08-27 · TA获得超过1611个赞
知道大有可为答主
回答量:2638
采纳率:0%
帮助的人:1094万
展开全部
楼主,这应该是一个字符串转换函数,看函数名应该是将utf8转换为gb2312格式,函数怎么走的其实你不需要搞懂,如果你确实需要,那么你得去查阅一些字符编码方面的资料

$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。
$a | $b Or(按位或) 将把 $a 或者 $b 中为 1 的位设为 1。
$a ^ $b Xor(按位异或) 将把 $a 和 $b 中不同的位设为 1。
~ $a Not(按位非) 将 $a 中为 0 的位设为 1,反之亦然。
$a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。

参考资料: phptogether.com

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式