从UTF-8字符串中删除ASCII不可打印字符是否安全?

从UTF-8字符串中删除ASCII不可打印字符是否安全?,utf-8,ascii,Utf 8,Ascii,我正在将用户输入的UTF-8中的字符串解析为ASCII,并删除基于此PCRE表达式的所有字符:/[\x00-\x1F\x7F]/。我想知道这是否会导致任何UTF-8字符的某种损坏 谢谢 那么,您正在杀死所有与您指定的0到31和127的值相等的代码点;没有损坏任何其他内容的风险,因为UTF-8多字节序列都是由高位集>=128的字节组成。在许多编程环境中,将不符合ASCII代码单位的ASCII字节读取将引发异常或替换为“?”。为什么不把它读成UTF-8,然后删除不需要的Unicode字符呢?

我正在将用户输入的UTF-8中的字符串解析为ASCII,并删除基于此PCRE表达式的所有字符:/[\x00-\x1F\x7F]/。我想知道这是否会导致任何UTF-8字符的某种损坏


谢谢

那么,您正在杀死所有与您指定的0到31和127的值相等的代码点;没有损坏任何其他内容的风险,因为UTF-8多字节序列都是由高位集>=128的字节组成。

在许多编程环境中,将不符合ASCII代码单位的ASCII字节读取将引发异常或替换为“?”。为什么不把它读成UTF-8,然后删除不需要的Unicode字符呢?