<?php

	/**
	
	在php中处理ASCII码的方法与函数
	
	常用ASCII码:
		_  		95
		A_Z		65-90
		a_z		97-122

	*/

//=====================================================
//-------------------字符转ASCII码--------------------

ord()
/*该函数用于将字符串转化为ASCII码值。
echo ord('A');  
注意:这个方法只提取第一个字符。如果是一个字符串,
那就没办法处理后面的字符了。*/

bin2hex()
/*将字符[串]转换为16进制
echo bin2hex('A'); 输出结果是41。
注意,这个41只是字面数值,没有16进制的意义*/

//==================ASCII码转字符======================
//-----------------方法一:用转义字符-----------------

/*		\xdd	表示十六进制
		\ddd	表示八进制
	
注意:
	转义字符只提供了十六进制和八进制转换到字符,没
有提供二进制、十进制转换到字符。所以要用另外一种方
法。	*/

echo "\x41";	//十六进制,\x开头
echo "\101";	//八进制,随便几位

//-----------------------------------------------------
//-----------------方法二:chr()函数------------------

/*	用法:chr(各种进制数);

			十进制:	直接写整数
			八进制:	第一位肯定是0,后面随便几位
			十六进制:	0xdd
			二进制:	字符串	*/

echo chr(65);			//十进制,由于都输数,所以没必要加双引号了
echo chr(0x41);		//十六进制
echo chr(0101);		//八进制,三位,最高位补零
echo chr('01000001');	/*二进制,注意,这里的二进制一定要看
						做字符串,加引号!上面三个都不用加*/
							
//-----------------------------------------------------
//------方法三:printf/sprintf()函数格式化输出-------

printf("%c", 0x41);               //第二个参数一定不能用单/双引号  
printf("%c", 0101);               //第二个参数一定不能用单/双引号  
printf("%c", 65);                    //第二个参数一定不能用单/双引号  
printf("%c", '01000001');  

//=====================================================
//------------------各种进制的转换--------------------

bindec()//二进制转十进制
decbin()//十进制转二进制,一样用

dechex()//十进制转16进制
hexdec()//16进制转10进制(参数直接写值,不用写0x)

octdec()//八进制转10进制
decoct()//10进制转8进制

base_convert(/*要转换的数,原进制,目标进制*/)//任意进制转换
echo base_convert(123, 6, 2);

/*注意:上面的这些转换函数,由于都是数学处理函数
,所以参数都不需要是字符串形式(不需要加引号),
直接写数值就行了。*/

//-----------------------------------------------------
//-----------------------------------------------------