Home  >  Article  >  Backend Development  >  PHP Chinese characters to decimal code

PHP Chinese characters to decimal code

WBOY
WBOYOriginal
2023-05-07 11:28:071280browse

In web development, Chinese characters are often used as tags, titles, text, etc. However, in some application scenarios, it is necessary to convert Chinese characters into decimal codes for numerical calculations, data storage and other operations. This article will introduce how to use PHP language to convert Chinese characters into decimal codes.

1. The concept of Chinese character encoding

Chinese character encoding refers to the process of mapping Chinese characters to binary values ​​​​that can be recognized by computers. A Chinese character can be represented by multiple encoding methods. The most common encoding methods are Unicode, GBK, GB2312, etc. These encoding methods map Chinese characters to hexadecimal values.

For example, the hexadecimal value of the word "中" in Unicode encoding is "4E2D", and the hexadecimal value in GBK encoding is "D6D0".

2. Method of converting Chinese characters into decimal codes

  1. Use PHP function ord()

PHP function ord() can return a certain character ASCLL code value. Since the ASCLL code value is an integer from 0 to 255, the Chinese characters can be converted into ASCLL code values, and then the ASCLL code values ​​can be converted into decimal format for output.

Sample code:

<?php
$str = '中';
echo ord($str);
?>

Running result:

20013

Note: This method is only applicable when Chinese characters have corresponding values ​​in the ASCLL code table.

  1. Use the PHP extension library mbstring

The PHP extension library mbstring provides a function mb_convert_encoding(), which can convert between various encoding methods. By converting Chinese characters to UTF-8 encoding, then using the function unpack() to convert the UTF-8 encoded string into ASCII code, and finally using the function implode() to concatenate the string into an integer.

Sample code:

<?php
function chinese_encode($str){
    $utf8_str = mb_convert_encoding($str, 'UTF-8', 'auto');
    $ascii_str = unpack('C*', $utf8_str);
    return implode('', $ascii_str);
}
$str = '中';
echo chinese_encode($str); 
?>

Run result:

20013
  1. Custom function

Through the custom function, the Chinese characters are divided into The Unicode encoding of each Chinese character is converted, and finally all Unicode encodings are spliced ​​into an integer output.

Sample code:

<?php
function chinese_encode($str){
    $code = '';
    for($i=0; $i<mb_strlen($str, 'UTF-8'); $i++){
        $code .= dechex(ord(mb_substr($str, $i, 1, 'UTF-8')));
    }
    return hexdec($code);
}
$str = '中';
echo chinese_encode($str); 
?>

Running results:

20013

3. Summary

This article introduces three methods of converting Chinese characters into decimal codes, respectively. The PHP function ord(), PHP extension library mbstring and custom functions are used. In practical applications, you can choose a method that suits you according to the specific situation. The operation of converting Chinese characters to decimal codes can easily complete some digital calculations, data storage and other operations.

The above is the detailed content of PHP Chinese characters to decimal code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Build php on the serverNext article:Build php on the server