gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:33 27 4
gpt4 key购买 nike

7bit传输编码和UTF-7、8bit和UTF-8可能有什么关系?

将消息正文编码手动转换为预期编码(假设为“utf-8”)是否有意义,如以下代码所示?

 function decodeBody($body, $transferEncoding, $bodyEncoding) {

switch ($transferEncoding) {

case '7BIT' :
case '8BIT' :
// any additional decoding here ?
$body = mb_convert_encoding($body, 'utf-8', $bodyEncoding);
break;


case 'BASE64' :
$body = base64_decode($body);
$body = mb_convert_encoding($body, 'utf-8', $bodyEncoding);
break;

case 'QUOTED_PRINTABLE' :
$body = quoted_printable_decode($body);
$body = mb_convert_encoding($body, 'utf-8', $bodyEncoding);
break;

}

return $body;
}

最佳答案

引用 RFC1341 :

值“8bit”、“7bit”和“binary”都表示未执行任何编码...“8bit”表示行较短,但可能有非ASCII字符(设置了高位的八位字节)。

这意味着 7 位是纯 ascii,您根本不需要将其转换为 UTF-8(因此在这种情况下无需使用 mb_convert_encoding())。 '8bit' 表示可能存在非 ascii 字符,但据我了解,它不一定采用 UTF-8 字符集编码 - 可能是 iso-8859-1 或其他任何字符。所以 AFAIK“8bit”并不意味着自动使用 UTF-8。

关于php - 7bit 和 8bit 编码的消息在输出之前必须解码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6843871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com