如何将字符串中的ASCII字符转换为普通字符?

时间:2018-05-03 14:49:22

标签: php encoding ascii

如何使用单个函数将字符串中的所有ASCII字符集更改为普通形式? 例如: 对于字符串“HelloGünter”,当更改为ASCII字符集为“text = Hello + G%C3%BCnter”时。我想反过来。我有像“text = Hello + G%C3%BCnter”之类的字符串需要获得“HelloGünter”。 在PHP中有内置函数吗?

2 个答案:

答案 0 :(得分:2)

这不是ASCII,它是百分比编码的Unicode。更具体地说,它是URL编码。

使用urldecode对其进行解码,或者使用parse_str进行整个搜索,这将采用数据格式并将其放入关联数组中。

<?php
    $foo = "text=Hello+G%C3%BCnter";
    echo $foo . "\n";
    $foo = urldecode($foo);
    echo $foo . "\n";

    $foo = "text=Hello+G%C3%BCnter";
    echo $foo . "\n";
    $foo = parse_str($foo, $bar);
    echo $bar['text'] . "\n";
?>

通常,您只能通过HTTP请求获取此表单中的数据(例如,在查询字符串中),在这种情况下,从$_GET['text']读取数据后,PHP会自动为您解码数据。

答案 1 :(得分:0)

检查sprintf()和chr()函数