PHP之string之chr()函数使用
chr
- (PHP 4, PHP 5, PHP 7)
- chr — Return a specific character
- chr — 返回指定的字符
Description
string chr ( int $ascii )
//Returns a one-character string containing the character specified by ascii.
//返回相对应于 ascii 所指定的单个字符。
//This function complements ord().
//此函数与 ord() 是互补的。
Parameters
ascii
The extended ASCII code.
Ascii 码。
Values outside the valid range (0..255) will be bitwise and'ed with 255, which is equivalent to the following algorithm:
while ($ascii < 0) {
$ascii += 256;
}
$ascii %= 256;
Return Values
- Returns the specified character.
- 返回规定的字符。
Examples
<?php
/**
* Created by PhpStorm.
* User: zhangrongxiang
* Date: 2018/2/15
* Time: 下午6:56
*/
for ( $i = 65; $i < 127; $i ++ ) {
echo chr( $i ) . ' ';
if ( $i % 10 == 0 ) {
echo PHP_EOL;
}
}
/*
* A B C D E F
* G H I J K L M N O P
* Q R S T U V W X Y Z
* [ \ ] ^ _ ` a b c d
* e f g h i j k l m n
* o p q r s t u v w x
* y z { | } ~
*/
echo PHP_EOL;
function unichr( $dec ) {
if ( $dec < 128 ) {
$utf = chr( $dec );
} else if ( $dec < 2048 ) {
$utf = chr( 192 + ( ( $dec - ( $dec % 64 ) ) / 64 ) );
$utf .= chr( 128 + ( $dec % 64 ) );
} else {
$utf = chr( 224 + ( ( $dec - ( $dec % 4096 ) ) / 4096 ) );
$utf .= chr( 128 + ( ( ( $dec % 4096 ) - ( $dec % 64 ) ) / 64 ) );
$utf .= chr( 128 + ( $dec % 64 ) );
}
return $utf;
}
//中
echo unichr( 20013 ) . PHP_EOL;
//A
echo chr( 321 ) . PHP_EOL;//A 256 + 65 = 321
function genPass( $len = 8 ) {
$passwd = '';
for ( $i = 0; $i <= $len; $i ++ ) {
$passwd = sprintf( '%s%c', isset( $passwd ) ? $passwd : null, rand( 48, 122 ) );
}
return $passwd;
}
//vuTR<oUn;
echo genPass( 8 ) . PHP_EOL;
function unichr2( $dec ) {
if ( $dec < 0x80 ) {
$utf = chr( $dec );
} else if ( $dec < 0x0800 ) {
$utf = chr( 0xC0 + ( $dec >> 6 ) );
$utf .= chr( 0x80 + ( $dec & 0x3f ) );
} else if ( $dec < 0x010000 ) {
$utf = chr( 0xE0 + ( $dec >> 12 ) );
$utf .= chr( 0x80 + ( ( $dec >> 6 ) & 0x3f ) );
$utf .= chr( 0x80 + ( $dec & 0x3f ) );
} else if ( $dec < 0x200000 ) {
$utf = chr( 0xF0 + ( $dec >> 18 ) );
$utf .= chr( 0x80 + ( ( $dec >> 12 ) & 0x3f ) );
$utf .= chr( 0x80 + ( ( $dec >> 6 ) & 0x3f ) );
$utf .= chr( 0x80 + ( $dec & 0x3f ) );
} else {
die( "UTF-8 character size is more than 4 bytes" );
}
return $utf;
}
function unichr3( $u ) {
return mb_convert_encoding( '&#' . intval( $u ) . ';', 'UTF-8', 'HTML-ENTITIES' );
}
echo unichr( 0x263A ) . PHP_EOL;//☺
echo unichr2( 0x263A ) . PHP_EOL;//☺
echo unichr3( 0x263A ) . PHP_EOL;//☺
echo unichr( 0x263B ) . PHP_EOL;//☻
echo unichr2( 0x263B ) . PHP_EOL;//☻
echo unichr( 20013 ) . PHP_EOL;//中
echo unichr2( 20013 ) . PHP_EOL;//中
echo unichr3( 20013 ) . PHP_EOL;//中
See
All rights reserved
PHP之string之chr()函数使用的更多相关文章
- php ord和chr函数
直接上代码 //通过ord()函数获取字符的ASCII码值,如果返回值大于 127则表示为中文字符的一半,再获取后一半组合成一个完整字符 $string = "hello不要迷恋哥world ...
- [Oracle]Oracle之Chr函数返回
Chr函数 返回:返回 String,其中包含有与指定的字符代码相关的字符. chr('39')是单引号 Chr("0") 为0的字符 Chr("1") Chr ...
- python中的ord,chr函数
chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符 ...
- Oracle 学习之:ASCII,CHR函数的作用和用法
对于ASCII以及CHR函数的用法,Oracle给出的解释是: ASCII(x)gets the ASCII value of the character X, CHR() and ASCII() h ...
- Asc函数与Chr函数
返回值: Integer 返回字符串中第一个字符的字符代码. 提示: Chr函数可以将一个Ascii码转换为相对应的字符 语法: Asc(string) string,必须参数,字符串 ...
- python中chr()函数和ord()函数的用法
一,chr()函数 格式:Chr(<数值表达式>) 说明:函数返回值类型为String,其数值表达式值取值范围为0~255. 例如:Print Chr(78),结果显示:N. ...
- OC与c混编实现Java的String的hashcode()函数
首先,我不愿意大家需要用到这篇文章里的代码,因为基本上你就是被坑了. 起因:我被Java后台人员坑了一把,他们要对请求的参数增加一个额外的字段,字段的用途是来校验其余的参数是否再传递过程中被篡改或因为 ...
- Oracle中的CHR()函数与ASCII()函数
工作中经常会处理一些因特殊字符而导致的错误,如上周我就遇到了因为换行符和回车符导致的数据上报的错误,这种错误比较难以发现,通常是由于用户的输入习惯导致的,有可能数据极少,就那么几行错误从而导致整个数据 ...
- string类find函数返回值判定
string类find函数返回值判定 代码示例 #include<iostream> #include<cstring> using namespace std; int m ...
随机推荐
- Linux FIO
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...
- SQL datediff()函数 时间差
定义和用法 DATEDIFF() 函数返回两个日期之间的天数. 语法 DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期 ...
- 10-09 Linux的文件系统介绍以及各种设备的说明
Linux的文件编程 linux文件管理系统分为3部分:与文件管理有关的软件,被管理的文件,实施文件管理需要的数据结构 用C语言建立,打开,关闭文件,向文件写入和读出数据等. Linux文件系统简介 ...
- python3环境的搭建
Python3 下载 Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到: Python 官网:https://www.python.org/ 你可以在以下链接中下载 ...
- C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件)
string file =Application.StartupPath+@"\WinFrm_Main.exe";//运行程序位置 public Form1() { Initial ...
- cesium编程中级(一)添加示例到Sandcastle
cesium编程中级(一)添加示例到Sandcastle 添加示例到Sandcastle在cesium编程入门(七)3D Tiles,模型旋转中提到过,这里是一份完整的说明 创建例子 开启node服务 ...
- WPF GridControl单元格值与过滤值相同时,改变单元格背景色
DataTrigger的Value不可绑定,所以我们需要用MultiBinding来实现这个功能. <dxg:TableView.CellStyle> <Style TargetTy ...
- Android优化之内存优化倒计时篇
本文来自网易云社区 作者:聂雷震 本篇文章介绍的内容是如何在安卓手机上实现高效的倒计时效果,这个高效有两个标准:1.刷新频率足够高,让用户觉得这个倒计时的确是倒计时,而不是幻灯片:2.不能占用太多的内 ...
- django系列8.1--django的中间件01 自定义中间件的5个方法
一.Django中的中间件 Django中间件定义: Middleware is a framework of hooks into Django's request/response process ...
- “全栈2019”Java第八十九章:接口中能定义内部类吗?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...