【PHP】PHP 字符串编码处理 (附各语言的字符集编码范围)
PHP中GBK和UTF8编码处理
一、编码范围
1. GBK (GB2312/GB18030)
x00-xff GBK双字节编码范围
x20-x7f ASCII
xa1-xff 中文
x80-xff 中文
2. UTF-8 (Unicode)
u4e00-u9fa5 (中文)
x3130-x318F (韩文)
xAC00-xD7A3 (韩文)
u0800-u4e00 (日文)
ps: 韩文是大于[u9fa5]的字符
正则例子:
二、代码例子
编码 | 字符集编码范围 |
UTF8 | [\x01-\x7f]|[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3} |
UTF16 | [\x00-\xd7][\xe0-\xff]|[\xd8-\xdf][\x00-\xff]{2} |
Big5 | [\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|[\xa1-\xfe]) |
GBK | [\x01-\x7f]|[\x81-\xfe][\x40-\xfe] |
GB2312汉字 | [\xb0-\xf7][\xa0-\xfe] |
GB2312半角标点符号及特殊符号 | \xa1[\xa2-\xfe] |
GB2312罗马数组及项目序号 | \xa2([\xa1-\xaa]|[\xb1-\xbf]|[\xc0-\xdf]|[\xe0-\xe2]|[\xe5-\xee]|[\xf1-\xfc]) |
GB2312全角标点及全角字母 | \xa3[\xa1-\xfe] |
GB2312日文平假名 | \xa4[\xa1-\xf3] |
GB2312日文片假名 | \xa5[\xa1-\xf6] |
GB18030 | [\x00-\x7f]|[\x81-\xfe][\x40-\xfe]|[\x81-\xfe][\x30-\x39][\x81-\xfe][\x30-\x39] |
JIS | [\x20-\x7e]|[\x21-\x5f]|[\x21-\x7e]{2} |
SJIS | [\x20-\x7e]|[\xa1-\xdf]|([\x81-\x9f]|[\xe0-\xef])([\x40-\x7e]|[\x80-\xfc]) |
SJIS全角空格 | (?:\x81\x81) |
SJIS全角数字 | (?:\x82[\x4f-\x58]) |
SJIS全角大写英文 | (?:\x82[\x60-\x79]) |
SJIS全角小写英文 | (?:\x82[\x81-\x9a]) |
SJIS全角平假名 | (?:\x82[\x9f-\xf1]) |
SJIS全角平假名扩展 | (?:\x82[\x9f-\xf1]|\x81[\x4a\x4b\x54\x55]) |
SJIS全角片假名 | (?:\x83[\x40-\x96]) |
SJIS全角片假名扩展 | (?:\x83[\x40-\x96]|\x81[\x45\x5b\x52\x53]) |
EUC_JP | [\x20-\x7e]|\x81[\xa1-\xdf]|[\xa1-\xfe][\xa1-\xfe]|\x8f[\xa1-\xfe]{2} |
EUC_JP标点符号及特殊字符 | [\xa1-\xa2][\xa0-\xfe] |
EUC_JP全角数字 | \xa3[\xb0-\xb9] |
EUC_JP全角大写英文 | \xa3[\xc1-\xda] |
EUC_JP全角小写英文 | \xa3[\xe1-\xfa] |
EUC_JP全角平假名 | \xa4[\xa1-\xf3] |
EUC_JP全角片假名 | \xa3[\xb0-\xb9]|\xa3[\xc1-\xda]|\xa5[\xa1-\xf6][\xa3][\xb0-\xfa]|[\xa1][\xbc-\xbe]|[\xa1][\xdd] |
EUC_JP全角汉字 | [\xb0-\xcf][\xa0-\xd3]|[\xd0-\xf4][\xa0-\xfe]|[\xB0-\xF3][\xA1-\xFE]|[\xF4][\xA1-\xA6]|[\xA4][\xA1-\xF3]|[\xA5][\xA1-\xF6]|[\xA1][\xBC-\xBE] |
EUC_JP全角空格 | (?:\xa1\xa1) |
EUC半角片假名 | (?:\x8e[\xa6-\xdf]) |
日文半角空格 | \x20 |
猜你喜欢
- 【PHP】PHP8如何创建可扩展的应用程序
- 深入掌握PHP8底层开发原理与新特性:如何创建可扩展的应用程序导语随着互联网技术的发展,PHP成为最受欢迎的Web开发语言之一。PHP语言的最新版本PHP8在底层开发原理和新特性方面做了很多改进和优化,使得开发者可以更好地创建可扩展的应用程序。本文将带您深入探索PHP8的底层开发原理和新特性,并给出代码示例来帮助您更好地理解。一、PHP8底层开发原理的改进JIT编译器的引入PHP8引入了JIT(Just-In-Time)编译器,通过将PHP代码转换成本地机器码,使得PHP代码的执行速度得到了显著
- 【PHP】PHP面试题之算法题
- hp面试题中也会经常出现算法题,本文主要和大家分享PHP面试题之算法题,希望能帮助到大家。面试题——算法题:1、插入排序(一维数组) 基本思想:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。 示例:[初始关键字] [49] 38 65 97 76 13 27 49J=2(38) [38 49] 65 97 76 13 27 49J=3(65) [38 49 65] 97 76 13 27 49J=4(97) [38 49
- 【PHP】php8的扩展arginfo生成工具之使用初体验
- hp8提供了非常方便的扩展函数或类参数信息的生成工具。只需要维护一份xyz.stub.php,就可以使用工具生成 xyz_arginfo.h。毫无疑问,这种方式,又降低了广大 phper 开发扩展的门槛,更易维护。上手体验:生成扩展骨架。cd ext php ext_skel.php --ext test随便添加一个函数,更改 test.stub.php。<?php /** @generate-function-entrie
- 【PHP】ThinkPHP 资源路由的简单使用,restfull风格API
- 一、资源控制器资源控制器可以轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如生成index应用的TestR资源控制器使用:php think make:controller index@TestR # php think make:controller 应用名@资源控制名或者使用完整的命名空间生成php think make:controller app\index\c
- 【PHP】关于PHP8中match新语句的骚操作
- PHP8新语法:match [更骚的匿名函数操作]PHP8 新出的一个语法很好用,就是 match 语句。match 语句跟原来的 switch 类似,不过比 switch 更加的严格和方便原来的 switch 语句代码如下:function getStr( $strType ){ switch( $strType ){ &nb
- 【PHP】php有哪些不可替代性
- php不可替代的原因有跨平台性、广泛的社区支持、丰富的功能和库、良好的性能和可扩展性以及广泛的应用领域,都是不可替代的。详细介绍:1、跨平台性,PHP可以运行在几乎所有的操作系统上,包括Windows、Linux、Mac OS等,这使得开发人员可以在不同的平台上使用相同的代码进行开发和测试;2、广泛的社区支持,这个社区提供了大量的教程、文档和开源项目;3、丰富的功能和库等等。本教程操作系统:windows10系统、PHP8.1.3版本、Dell G3电脑。PHP是一种广泛使用的服务器端
- 【PHP】PHP中的array_values()函数获取数组中的值
- 在PHP中,数组是一个十分常用且重要的数据类型。在实际开发过程中,我们经常需要操作数组中的值。其中,array_values()函数是一个非常有用的函数,它可以用于获取数组中的所有值并返回一个新的索引数组。array_values()函数的语法如下:array_values(array $array): array该函数需要一个数组作为参数,并返回一个新的索引数组,其中存储了原始数组中的所有值。下面是该函数的具体说明:参数$array:需要获取值的原始数组。返回值:一个新的索引数组,包含了原始数
- 【PHP】大规模项目中PHP框架的性能考虑
- 在大型 php 项目中,选择框架至关重要,关键性能考虑因素包括可扩展性、内存消耗、响应时间和并发性。比较流行框架的性能:laravel 具有高可扩展性和并发性,但内存消耗较高;symfony 性能均衡,非常可扩展;codeigniter 可扩展性高,但响应时间和并发性较低;zend framework 可扩展性、响应时间和并发性都很好。根据不同项目要求选择合适的框架,例如社交媒体平台推荐使用 symfony,而电子商务网站推荐使用 laravel。优化性能的技巧包括使用缓存、优化数据库查询、启用