中国語の文字を Unicode に変換するユニバーサル関数。ライブラリや他のカスタム関数には依存しませんが、条件があります。このファイルと関数の入力パラメーターは UTF-8 でエンコードされる必要があり、そうでない場合は関数変換が行われます。が必要です。
/** * 中国語の文字を Unicode に変換するユニバーサル関数です。ライブラリや他のカスタム関数には依存しませんが、条件があります。 * 条件: このファイルと関数の入力パラメーターは utf-8 でエンコードされる必要があります。そうでない場合は関数変換が必要です * 実際、漢字に限らず、逆変換関数は簡単に作成できます。なぜ PHP には既製の関数がないのでしょう * @author xeyeye * * @ param {string} $word は中国語の文字であるか、中国語の文字を表す必要があります 配列 (str_split で切り取られます) * @return {string} 中国語の文字「you」を表す 4f60 などの 10 進数の Unicode コード */ function getUnicodeFromOneUTF8($word) { //文字の内部配列表現を取得するため、このファイルは utf-8 でエンコードされる必要があります。 if (is_array( $word)) $arr = $word; else $arr = str_split($word); //このとき、$arr は array(228, 189, 160) のようになります //定義 空の文字列が格納されます $bin_str = ''; //数値に変換し、次にバイナリ文字列に変換し、最後にそれらを結合します。 foreach ($arr as $value) $bin_str .= decbin(ord($value)); //このとき、$bin_str は、漢字の「you」の場合、111001001011110110100000 のようになります //通常のインターセプト $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3' , $bin_str); // このとき、$bin_str は、漢字の「you」の場合、0100111101100000 に似ています。 return binding($bin_str) // Return は、漢字の「you」の 20320 に似ています。 " //return dechex(bindec($bin_str)); // 16 進数の 4f60 を返したい場合は、この文を使用します } ?> |