草庐IT

ENCODING

全部标签

phpass 的自定义 base 64 编码器 : does it have a name/advantage over Base64?

phpass在encode64()中使用了一个奇怪的(对我来说)算法以base64编码。Base64和Uuencode线性分块6位以在映射到可打印字符之前生成每个八位位组。encode64随机排列位:inputbitlocation:abcdefghijklmnopqrstuvwxbase64bitlocation:..abcdef..ghijkl..mnopqr..stuvwxencode64bitlocation:..cdefgh..mnopab..wxijkl..qrstuv这个算法是众所周知的吗?除了向后兼容,为什么选择它而不是Base64?下面我重写了它以阐明算法:funct

php - mb_convert_encoding() 不适用于 phpunit

出于某种原因,在phpunit中运行mb_convert_encoding时,我得到了意想不到的结果。例如执行以下操作:var_dump(mb_convert_encoding(utf8_decode('ö'),'UTF-8')==='ö')上面在PHP-FPM和PHP-CLI下返回bool(true),但是在PHPunit下返回false,mb_convert_encoding()正在做一些事情,它只是编码到一个乱七八糟的字符串。 最佳答案 我猜你正在使用一组不同的mbstringini设置。这是解决该问题的一种方法。首先,您可以

PHP 如何将文本编码为数字实体?

我有这样的xml:ℤ我的目标是摆脱所有像ℤ这样的特殊实体,用它们的数字实体表示代替它们。我试过了:$test=;$convmap=array(0x80,0xffff,0,0xffff);$test=mb_encode_numericentity($test,$convmap,'UTF-8');但这不会取代ℤ有什么想法吗?我的目标是:ℤ如下所示:http://www.fileformat.info/info/unicode/char/2124/index.htm谢谢。 最佳答案 您的转换器正在

php - 如何确定一个字符所需的最小字节数?

有没有办法确定特定编码中字符所需的最小字节数?就像mbstring扩展支持的编码之一。UTF-8的值为1,UTF-16的值为2,等等。我不想获取特定字符串或字符的长度。我想知道给定编码支持的最小字符大小,根据它的规范。我目前使用这段代码:部分输出:...UTF-16LE:2UTF-8:1UTF-7:1UTF7-IMAP:1ASCII:1EUC-JP:1...但我不确定要使用的“正确”字符。如果有的话。编辑:我已经用每种编码中从0到U+10FFFF的每个字符测试了蛮力方法,结果与我的finally_not_so_flawed_detection函数(使用'a'字符或带空格):p

php - CKEditor如何对HTML所见即所得编辑器进行编码?

我在我的网站上使用所见即所得的编辑器CKEditor。如果我在编辑器中使用javascript脚本并发送这些更改,我会遇到问题。它向我显示一个弹出窗口而不是向我显示HTML字符串。我尝试对我输入的文本进行编码,但它对编辑器创建的所有代码(粗体、下划线)进行编码。我还尝试使用所见即所得编辑器进行配置:config.htmlEncodeOutput=true;通过输入alert('test')在编辑器中,它在显示器上正确显示。但是如果我想重新编辑我的代码,他在编辑器中写给我:<script>alert("test");</script>你知道如何

php - UTF-8、PHP、Win7 - 现在有解决方案可以使用 php 在 Win 7 上保存 UTF-8 文件名吗?

Update:Justtonotmakeyoureadingthroughall:PHPstartingwith7.1.0alpha2supportsUTF-8filenamesonWindows.(ThankstoAnatol-Belski!)根据stackoverflow上的一些链接链,我找到了部分答案:https://stackoverflow.com/a/10138133/3716796翁贝托·萨尔西(关于同一个问题:Artefacto的https://stackoverflow.com/a/2950046/3716796)简而言之:“PHP作为“非Unicode感知程序””与

php - preg_replace 不适用于某些单词/字符

$str='کسنےموسیٰکےبارےمیںسناہے؟';$str=preg_replace('/(?这无法替换موسیٰ。它应该给出کسنےMusaکےبارےمیںsunaہے؟而不是给出کسنےموسیٰکےبارےمیںsunaے͟。所有以ٰ结尾的单词都会发生这种情况,例如تعالیٰ。它适用于ٰ位于单词中间的单词(没有以ٰ开头的单词)。这是否意味着\b不能与ٰ一起使用?是错误吗? 最佳答案 原因是单词边界在以下位置匹配:Beforethefirstcharacterinthestring,ifthefirstchar

php - 7bit 和 8bit 编码的消息在输出之前必须解码吗?

7bit传输编码和UTF-7、8bit和UTF-8可能有什么关系?将消息正文编码手动转换为预期编码(假设为“utf-8”)是否有意义,如以下代码所示?functiondecodeBody($body,$transferEncoding,$bodyEncoding){switch($transferEncoding){case'7BIT':case'8BIT'://anyadditionaldecodinghere?$body=mb_convert_encoding($body,'utf-8',$bodyEncoding);break;case'BASE64':$body=base64_

php - Zend_Mail 中的 UTF-8 发件人姓名?

我正在使用Zend_Mail并想自定义发件人姓名。我希望发件人姓名为FooBar爱你Ryan(其中“Ryan”被替换为收件人姓名,爱你被替换为收件人语言中的“loves”翻译,justlikeCDBabydoes).我试过了base64_encode和mb_encode_mimeheader()和其他类似的东西:mb_internal_encoding('UTF-8');mb_http_output('UTF-8');iconv_set_encoding("input_encoding",'UTF-8');iconv_set_encoding("output_encoding",'UT

php - $_SERVER 变量的编码?

我需要知道当我处理$_SERVER变量时我是否可以安全地使用普通字符串或者我必须使用mb_*字符串。(UTF-8)例如$_SERVER['HTTP_HOST']可以包含多字节字符?如果我使用包含多字节字符的Host:header发出http请求会怎样?客户端在发出http请求时可以在哪里指定正在使用哪个econding? 最佳答案 是的,你应该使用多字节。如果不是别的,还有西里尔域名,所以$_SERVER自然应该包含utf8数据。 关于php-$_SERVER变量的编码?,我们在Stac