gpt4 book ai didi

perl - 我应该将超长的 UTF-8 字符串转换为最短的正常形式吗?

转载 作者:行者123 更新时间:2023-12-04 04:14:08 27 4
gpt4 key购买 nike

我刚刚改造了我的Encoding::FixLatin Perl 模块处理超长的 UTF-8 字节序列并将它们转换为最短的正常形式。

我的问题很简单“这是一个坏主意”吗?

许多来源(包括 this RFC )建议将任何过长的 UTF-8 视为错误并拒绝。他们警告不要“幼稚的实现”,并给我留下这些东西本质上不安全的印象。

由于我的模块的全部目的是清理具有混合编码的杂乱数据文件并将它们转换为干净整洁的 utf8,这似乎只是我可以清理的另一件事,因此应用程序层不必处理它。我的代码不关心结果字符可能具有的任何语义含义,它只是将它们转换为规范化形式。

我是不是错过了什么。有没有我没有考虑到的隐患?

最佳答案

是的,这是个坏主意。

也许检查了其中一个困惑数据文件中的某些数据,以查看它不包含危险的 ASCII 字符序列。

导致许多问题的典型示例:'\xC0\xBCscript>' .将超长序列“修复”为纯 ASCII <并且您不小心创建了一个安全漏洞。

没有任何工具曾出于任何合法目的生成过长。如果您正在尝试修复混合编码文件,您应该考虑遇到一个作为您错误猜测编码的标志。

关于perl - 我应该将超长的 UTF-8 字符串转换为最短的正常形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743973/

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