php ord128
PHP是一种广泛使用的Web编程语言,用于创建复杂的Web应用程序。其中,ord()函数是一个非常重要的函数,用于返回字符串的第一个字符的ASCII值。当遇到Unicode字符时,ord()函数会遇到麻烦,因为Unicode字符的ASCII值大于128。
举个例子,考虑一个名为“好”的中文字符串。在UTF-8编码中,这个字符串的前两个字符是“好”,其对应的UTF-8编码是0xE5和0xA5,分别对应的ASCII值是229和165。如果我们使用ord()函数来查找这个字符串的ASCII值,只会返回第一个字符的ASCII值——229。这是因为ord()函数不能处理ASCII值大于128的Unicode字符。
$str = "好";echo ord($str); // 输出 229
为了正确地获取字符串的所有字符的ASCII值,我们需要使用mb_ord()函数。该函数可以处理高于128 ASCII值的Unicode字符,并正确地返回字符串的所有字符的ASCII值。如果我们使用mb_ord()函数来查找“好”字符串的ASCII值,我们会得到正确的结果——229和165。
$str = "好";echo mb_ord($str[0]); // 输出 229echo mb_ord($str[1]); // 输出 165
另一个例子是日语中的一个常用字符—“ハ”(Hiragana“ha”)。在UTF-8编码中,此字符的UTF-8编码值是0xE3 0x81 0xAF,对应的ASCII值是227,129和175。如果我们使用ord()函数来获取这个字符串的ASCII值,只会返回第一个字符的ASCII值——227。
$str = "ハ";echo ord($str); // 输出 227
如果我们使用mb_ord()函数来获取这个字符串的ASCII值,我们可以得到所有字符的ASCII值——227,129和175。
$str = "ハ";echo mb_ord($str[0]); // 输出 227echo mb_ord($str[1]); // 输出 129echo mb_ord($str[2]); // 输出 175
总之,当PHP需要处理Unicode字符时,ord()函数会有限制。因此,我们应该使用mb_ord()函数来获取字符串的所有字符的ASCII值。
上一篇:php notorm
下一篇:php order rand