问题标签 [standards-compliance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - XHTML 合规性毫无意义吗?
我现在正在构建一个站点,到目前为止,我已经痛苦地强迫所有内容都符合要求,并且它在浏览器中看起来几乎相同。但是,我开始实现一些第三方/免费的 javascript,它们执行诸如添加属性之类的操作(例如 order=2)。我可以解决这个问题,但这很痛苦,而且我开始失去确保一切都有效的原则。真的,解决这样的事情有什么意义吗?我得到了 Firefox 的 HTMLValidator 插件,并且查看了大多数主要网站(包括这个、谷歌等),它们不是有效的 XHTML 或 HTML。
accessibility - 网站遵守美国残疾人法案 (ADA)
是否有任何自动、在线或离线工具来测试 xhtml/css 是否符合美国残疾人法案 (ADA)的屏幕阅读器和其他视觉指南?
globalization - 为什么软件对双向文本(希伯来语、阿拉伯语)的支持如此差?
虽然大多数操作系统和 Web 浏览器对双向文本(例如希伯来语和阿拉伯语)提供了很好的支持,但大多数商业和开源软件却没有:
- 除了原始的记事本和 Visual Studio 编辑器之外,大多数文本编辑器都做得很差。(我尝试了几十个)。
- 我找不到任何文件比较工具做得不错 - 甚至没有 Beyond-Compare。
- 处理图表和报告的软件和软件包也是如此。
我有一些问题:
- 你和我一样痛苦吗?
- 你写的软件是双向兼容的吗?你有关于它的错误报告吗?
- 你甚至知道所涉及的问题是什么?你为他们测试吗?
- 关于如何使软件世界成为双向语言使用者的更好场所的任何建议?
c - C99 的支持范围有多广?
当今的编译器支持 C99 标准的普遍程度如何?我知道即使 GCC 也不完全支持它。这是正确的吗?
C99 的哪些功能比其他功能更受支持,即我可以使用哪些功能来确定大多数编译器会理解我?
html - 一个 HTML 元素可以有多个 id 吗?
我知道一个 id 在 HTML/XHTML 页面中必须是唯一的。
对于给定的元素,我可以为其分配多个 id 吗?
我意识到我有一个简单的解决方案,只需使用一个类。我只是对以这种方式使用 id 感到好奇。
html - 使无 DOCTYPE 的 HTML 页面符合 W3C
如何获取当前没有 doctype 声明的 HTML 站点并使其符合 W3C?
validation - 是否可以使用 '/>' 使 BEA Portal 9.2 关闭链接和元标记,使其对 XHTML 有效?
我正在尝试使 BEA Portal 网站与 XHTML 兼容,因为这已写在与客户的合同中,而我被困在这个问题上:BEA 渲染<meta>
和<link>
标记没有右斜线,即<link/>
它<meta/>
是由XHTML。
当我查看 BEA 的文档时,似乎应该可以使用右斜杠渲染标签:skin.properties 文件 (edocs.bea.com)。
是否可以使用配置指令更改重编?或者,也许是为了挂钩底层的重新渲染方法以便我可以修复它?
netbeans - Netbeans J2ME SVG 合规性
我为我正在处理的项目编写了一些 svg 图像。但是当我尝试将它们放在 netbeans 软件(j2me)中的屏幕(表单)上时,它会说“图像不符合 SVG Tiny”。我什至尝试使用 Sun 的 WTK 演示的THAT WORK部署时的 svg 图像进行测试,但它说的是同样的事情。关于出了什么问题的任何想法?
regex - RegEx 解析或验证 Base64 数据
是否可以使用正则表达式来验证或清理 Base64 数据?这是一个简单的问题,但驱动这个问题的因素是使它变得困难的因素。
我有一个不能完全依赖输入数据来遵循 RFC 规范的 Base64 解码器。因此,我面临的问题可能是 Base64 数据可能无法分解为 78 的问题(我认为是 78,我必须仔细检查 RFC,所以如果确切数字错误,请不要叮我)字符行,或者行不能以 CRLF 结尾;因为它可能只有一个 CR 或 LF,或者两者都没有。
所以,我在解析这种格式的 Base64 数据时度过了一段地狱般的时光。因此,以下示例无法可靠解码。为简洁起见,我将只显示部分 MIME 标头。
好的,所以解析没有问题,这正是我们所期望的结果。在 99% 的情况下,使用任何代码至少验证缓冲区中的每个字符都是有效的 base64 字符,都可以完美运行。但是,下一个示例将扳手投入其中。
这是我在一些病毒和其他试图利用某些邮件阅读器希望不惜一切代价解析 mime 的东西中看到的 Base64 编码版本,而不是那些严格按照书本,或者更确切地说是 RFC 的东西;如果你愿意的话。
我的 Base64 解码器将第二个示例解码为以下数据流。请记住,原始流都是 ASCII 数据!
任何人有一个很好的方法来一次解决这两个问题?我不确定这是否可能,除了对应用了不同规则的数据进行两次转换并比较结果之外。但是,如果您采用这种方法,您信任哪个输出?似乎 ASCII 启发式方法是最好的解决方案,但是对于像病毒扫描程序这样复杂的东西,这段代码实际上参与其中,会增加多少代码、执行时间和复杂性?您将如何训练启发式引擎以了解什么是可接受的 Base64,什么不是?
更新:
对于这个问题继续获得的视图数量,我决定发布我在 C# 应用程序中使用了 3 年的简单正则表达式,其中包含数十万个事务。老实说,我最喜欢Gumbo给出的答案,这就是我选择它作为选定答案的原因。但是对于任何使用 C# 并且正在寻找一种非常快速的方法来至少检测字符串或字节 [] 是否包含有效的 Base64 数据的人,我发现以下内容对我来说非常有效。
是的,这只是针对 Base64 数据的字符串,而不是格式正确的RFC1341消息。因此,如果您正在处理这种类型的数据,请在尝试使用上述 RegEx 之前考虑到这一点。如果您出于其他目的(URL、文件名、XML 编码等)处理 Base16、Base32、Radix 甚至 Base64,那么强烈建议您阅读Gumbo在他的回答中提到的RFC4648,因为您需要做好在尝试使用此问题/答案集中的建议之前,请了解实现使用的字符集和终止符。