伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

PHP b前缀字符串/binary类型强制转换

来源:网络转载 浏览:78次 时间:2022-12-03

看PHP文档《类型转换的判别》一章:

http://www.lvesu.com/blog/php/language.types.type-juggling.php

发现个新鲜玩意,b前缀字符串,官网文档的描述:

还举了个例子:

什么鬼……看不明白

stackoverflow上搜一下:


Binary strings were introduced in PHP 5.2.1 but were expected to become effective only starting from PHP 6. It was an attempt to distinguish between Unicode and binary strings. The former being the new string format, the latter being the current format but changed to "b" notation.

As you may know, PHP 6 had been abandoned and string format didn't change. The "b" notation is just a relic from that era.

'foobar' === b'foobar'; // true

So nowadays (PHP 5 and 7), binary string is the only string format. The character encoding (which can be multibyte) is managed at the "upper level", by your text editor, web browser, etc. You can consider a binary string to be a string consisting of the full 0-255 range of byte values.

A string with nonprintable characters and such, can be manipulated in PHP as any other string, but you'll get garbage displaying it. Also some characters have special meaning: \0 marks string termination in C and SQL, there are control characters, etc. So as soon as you use them outside of PHP you are likely to encounter troubles.

For example, random_bytes() produces such strings.


机翻一下:


二进制字符串在PHP 5.2.1中引入,但预期仅从PHP 6开始才有效。这是试图区分Unicode字符串和二进制字符串。前者是新的字符串格式,后者是当前格式,但更改为“ b”表示法。

如您所知,PHP 6已被放弃,字符串格式没有改变。“ b”符号只是那个时代的遗物。

'foobar' === b'foobar'; // true

因此,如今(PHP 5和7),二进制字符串是唯一的字符串格式。字符编码(可以是多字节)可以通过文本编辑器,Web浏览器等在“较高级别”上进行管理。您可以将二进制字符串视为包含0-255字节值范围的字符串。

带有不可打印字符等的字符串可以像其他任何字符串一样在PHP中进行处理,但是显示时会出现乱码。还有一些字符具有特殊含义:\0在C和SQL中标记字符串终止,还有控制字符等。因此,一旦在PHP之外使用它们,您很可能会遇到麻烦。

例如,random_bytes()产生这样的字符串。


意思就是废弃的特性其实没啥用……现在的PHP其实默认就是b前缀的字符串


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net