如何在PHP中创建一串随机,非标准字符?

时间:2013-10-23 21:07:24

标签: php string cp1252

我想在PHP中创建一个非标准字符串,例如字符128-255,然后将所述字符串编码为CP1252:

<?php
$cp1252 = '';

for ($i = 128; $i < 256; $i++) {
    $hex = dechex($i);
    $cp1252 .= "\x$hex";
}

echo $cp1252;

我知道这不起作用,因为在变量初始化之前解析了转义序列(如果我错了就纠正我),所以这就是我想做的一个例子。

这是我用来测试CP1252到UTF-8的转换的最终代码:

<?php
$cp1252 = '';

for ($i = 128; $i < 256; $i++) {
    $cp1252 .= chr($i);
}

echo iconv("CP1252", "UTF-8", $cp1252);

2 个答案:

答案 0 :(得分:4)

使用chr()函数将字符代码转换为字符串:

for ($i = 128; $i < 256; $i++) {
    $cp1252 .= chr($i);
}

答案 1 :(得分:1)

生成一串随机字符:

function rand_cp1252($length) {
  $ostr = '';
  for($i=0;$i<$length; $i++) {
    $ostr .= chr(rand(128,255));
  }
  return $ostr;
}

echo rand_cp1252(10);

就编码而言,与字符串本身无关,您需要确保在提供数据时为编码类型设置正确的标题。