首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应该在输出中过滤的Unicode字符列表?

应该在输出中过滤的Unicode字符列表?
EN

Stack Overflow用户
提问于 2012-05-12 02:40:14
回答 4查看 9.3K关注 0票数 20

最近我遇到了一个bug,因为浏览器支持的数据质量,我正在寻找一个安全的规则来应用字符串转义而不是双倍大小,除非需要。

一个UTF8字节序列"E2-80-A8“(U+2028,行分隔符),在Unicode数据库中是一个完全有效的字符。但是,该序列表示行分隔符(是,不是"0A")。

糟糕的是,许多浏览器(包括Chrome、Firefox和Safari;我没有测试其他浏览器)无法处理包含包含Unicode字符的字符串的JSONP回调。JSONP包含在一个我无法控制的非Unicode HTML中。

浏览器只是在这样的JavaScript上报告无效的代码/语法错误,这在调试工具和所有文本编辑器中看起来都是有效的。我猜测它可能会尝试将"E2-80-A8“转换为BIG-5并打破JS语法。

上面的例子只是Unicode如何让你的系统意外崩溃的一个例子。据我所知,一些黑客可以使用RTL和其他控制字符为他们的利益。Unicode规范中有许多“引号”、“空格”、“符号”和“控件”。

问题:

是否有一个Unicode字符列表供每个程序员了解隐藏的功能(和错误),我们可能不希望它们在我们的应用程序中有效。(例如,Windows在文件名中禁用RTL )。

编辑:

我不是在要求JSON或JavaScript。我正在询问所有程序中Unicode处理的一般最佳实践。

EN

Stack Overflow用户

回答已采纳

发布于 2012-05-21 02:00:46

有一个字符属性数据库和一个描述它的报告,UNICODE CHARACTER DATABASE,它给出了浏览器“应该”如何处理代码点的好主意。我喜欢这个词,“应该”。Safest将是一个白名单,您可以使用L|M|N|S、字母或标记、数字或符号。

看一下库的ICU project

票数 4
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10556875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档