简介:这是php中ASCⅡ码的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=336623' scrolling='no'>
以前花了不少时间,找可以把中文转ascii码的php代码,utf-8也只是ascii的一种。后来中手册上找到 了个,把他改为了批量转换,还增加了一个常用的ascii代码还原字符。这个代码写好了有一段时间了,没什么时间把这些贴出来,大家可以看看,这个类不止 只是中文的转换哟
class ascii
{
function decode ( $str )
{
preg_match_all ( " /(d{2,5})/ " , $str , $a ) ;
$a = $a [ 0 ] ;
foreach ( $a as $dec )
{
if ( $dec {
$utf .= chr ( $dec ) ;
}
else if ( $dec {
$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 ;
}
function encode ( $c )
{
$len = strlen ( $c ) ;
$a = 0 ;
while ( $a {
$ud = 0 ;
if ( ord ( $c { $a }) >= 0 && ord ( $c { $a }) {
$ud = ord ( $c { $a }) ;
$a += 1 ;
}
else if ( ord ( $c { $a }) >= 192 && ord ( $c { $a }) {
$ud = ( ord ( $c { $a }) - 192 ) * 64 + ( ord ( $c { $a + 1 }) - 128 ) ;
$a += 2 ;
}
else if ( ord ( $c { $a }) >= 224 && ord ( $c { $a }) {
$ud = ( ord ( $c { $a }) - 224 ) * 4096 + ( ord ( $c { $a + 1 }) - 128 ) * 64 + ( ord ( $c { $a + 2 }) - 128 ) ;
$a += 3 ;
}
else if ( ord ( $c { $a }) >= 240 && ord ( $c { $a }) {
$ud = ( ord ( $c { $a }) - 240 ) * 262144 + ( ord ( $c { $a + 1 }) - 128 ) * 4096 + ( ord ( $c { $a + 2 }) - 128 ) * 64 + ( ord ( $c { $a + 3 }) - 128 ) ;
$a += 4 ;
}
else if ( ord ( $c { $a }) >= 248 && ord ( $c { $a }) {
$ud = ( ord ( $c { $a }) - 248 ) * 16777216 + ( ord ( $c { $a + 1 }) - 128 ) * 262144 + ( ord ( $c { $a + 2 }) - 128 ) * 4096 + ( ord ( $c { $a + 3 }) - 128 ) * 64 + ( ord ( $c { $a + 4 }) - 128 ) ;
$a += 5 ;
}
else if ( ord ( $c { $a }) >= 252 && ord ( $c { $a }) {
$ud = ( ord ( $c { $a }) - 252 ) * 1073741824 + ( ord ( $c { $a + 1 }) - 128 ) * 16777216 + ( ord ( $c { $a + 2 }) - 128 ) * 262144 + ( ord ( $c { $a + 3 }) - 128 ) * 4096 + ( ord ( $c { $a + 4 }) - 128 ) * 64 + ( ord ( $c { $a + 5 }) - 128 ) ;
$a += 6 ;
}
else if ( ord ( $c { $a }) >= 254 && ord ( $c { $a }) { //error
$ud = false ;
}
$scill .= " $ud ; " ;
}
return $scill ;
}
最近在技术群中有位兄弟提出了一个问题:
想让自增的ID格式化为
A001――A999
B001――B999
……
Z001――Z999,
我最初的构思是循环中,分if条件判断出来进行A――Z字母,
但是这样做有个极大的缺点,代码显得很呆板冗余,26个英文字母等于需要26个判断。
后来有人支招将字母变成ASCⅡ码,恰好A――Z等于ASCⅡ码的65――91;
这样就只需要一个函数进行格式化ID就可以了:
function format_string( $num ) {
$tag = floor (( $num - 1 ) / 999 );
// part1计算asc码
$part1 = 65 + $tag ;
// part2计算数字部分
$part2 = $num - 999 * $tag ;
$a = strlen ( $part2 );
for ( $i = 0 ; $i {
$b .= 0 ;
}
$str = chr ( $part1 ) . $b . $part2 ;
return $str ;
}
for ( $i = 1 ; $i {
echo $str = format_string( $i ) . '
' ;
}
“php中ASCⅡ码”的更多相关文章 》
爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具
http://biancheng.dnbcw.info/php/336623.html pageNo:10
PHPsessionscanstorestrings,numbers,arrays,andobjects.1.Strings:textdatalikeusernames.2.Numbers:integersorfloatsforcounters.3.Arrays:listslikeshoppingcarts.4.Objects:complexstructuresthatareserialized.

TostartaPHPsession,usesession_start()atthescript'sbeginning.1)Placeitbeforeanyoutputtosetthesessioncookie.2)Usesessionsforuserdatalikeloginstatusorshoppingcarts.3)RegeneratesessionIDstopreventfixationattacks.4)Considerusingadatabaseforsessionstoragei

Session regeneration refers to generating a new session ID and invalidating the old ID when the user performs sensitive operations in case of session fixed attacks. The implementation steps include: 1. Detect sensitive operations, 2. Generate new session ID, 3. Destroy old session ID, 4. Update user-side session information.

PHP sessions have a significant impact on application performance. Optimization methods include: 1. Use a database to store session data to improve response speed; 2. Reduce the use of session data and only store necessary information; 3. Use a non-blocking session processor to improve concurrency capabilities; 4. Adjust the session expiration time to balance user experience and server burden; 5. Use persistent sessions to reduce the number of data read and write times.

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHPidentifiesauser'ssessionusingsessioncookiesandsessionIDs.1)Whensession_start()iscalled,PHPgeneratesauniquesessionIDstoredinacookienamedPHPSESSIDontheuser'sbrowser.2)ThisIDallowsPHPtoretrievesessiondatafromtheserver.

The security of PHP sessions can be achieved through the following measures: 1. Use session_regenerate_id() to regenerate the session ID when the user logs in or is an important operation. 2. Encrypt the transmission session ID through the HTTPS protocol. 3. Use session_save_path() to specify the secure directory to store session data and set permissions correctly.

PHPsessionfilesarestoredinthedirectoryspecifiedbysession.save_path,typically/tmponUnix-likesystemsorC:\Windows\TemponWindows.Tocustomizethis:1)Usesession_save_path()tosetacustomdirectory,ensuringit'swritable;2)Verifythecustomdirectoryexistsandiswrita


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version
Recommended: Win version, supports code prompts!

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
