【问题标题】:PHP reversing a byte and printing itPHP反转一个字节并打印它
【发布时间】:2020-07-18 18:34:05
【问题描述】:

我正在使用 PHP 中的字符串,二进制中的字符“a”如下所示:01100001

我想要做的是反转这个,然后变成 10000110 并转换回它的文本表示,但每次我尝试它都会给我一个 ?或表示不可打印或无效字符的空白方块。

我尝试了在线 ASCII/UNICODE 二进制到文本转换器,但它们什么也没给我,为什么会这样,我怎么能看到我的字节解码成什么字符?

【问题讨论】:

  • 运气不好 - 很多设置了高位的字符,以各种特殊字符出现(它们超过 128 位十进制)。如果你尝试过b 之类的东西,它应该会给你一些东西。刚刚找到theasciicode.com.ar/ascii-printable-characters/…,它显示了更多结果。

标签: php unicode character-encoding bit non-ascii-characters


【解决方案1】:

10000110 是十进制的 134,这意味着它在 扩展 ASCII 表中(值超过 127)

要正确显示,应将其转换为cp1252

<?php
for ($i = 33; $i <= 255; $i++) {
    echo "$i: " . htmlentities(chr($i), ENT_QUOTES, 'cp1252') . "<br />";
}

See also here

【讨论】:

  • 它可以部分工作,但有些字符仍然带有问号。还是谢谢你。
猜你喜欢
  • 2011-05-20
  • 2020-07-25
  • 2020-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多