这些十六进制字符是什么?它们来自哪里?

What are these hex characters and where could they have come from?

在使用 jQuery UI 日期选择器帮助某人开发应用程序时,在不同浏览器中进行测试时,我们注意到 IE 11 中存在问题,至少我们的版本是这样。出于某种原因,我为新 javascript 日期对象提供给日期选择器的日期字符串在 IE 中表现不佳,但在 Chrome 中运行良好。 最后,在重新启动调试器并注视屏幕一个多小时后,我开始仔细观察字符串本身。果然,我可以在某些位置按下箭头键,而光标不会移动!啊哈!某处有一些非打印字符。

我抓取了 Notepad++ 的十六进制编辑器插件,可以比较 "un-molested" 字符串和其中包含 "extra something" 的版本。

请参阅下面的屏幕截图。

那么谁能评论一下这些角色到底是什么样的角色以及他们可能来自哪里?

这里是 "un-molested" 版本

这里是 "goofy" 版本。请注意,当我在文本编辑器中查看 "displayed" 版本时,我看到的只是“10/14/2016”

这是我正在使用的代码。在这个函数中,变量 "DateStart" 中有额外的字符。请注意,在使用 IE 和 Visual Studio 2015 进行调试时会发生这种情况。现在,当我使用 Google Chrome 启动并使用其调试器时,我得到了预期的结果 - 日期正常并且日期选择器打开到正确的日期。

 function ConfigPicker() {

            var DateStart =    document.getElementById('FromDate').value;
            var DateEnd = document.getElementById('ToDate').value; 

            $("#FromDate").datepicker({ dateFormat: 'mm/dd/yy', defaultDate: new Date(DateStart) });
            $("#ToDate").datepicker({ dateFormat: 'mm/dd/yy', defaultDate: new Date(DateEnd) });                
    }

您一定是从处理从右到左文本的来源复制的。

e2 80 8e200E LEFT-TO-RIGHT MARK

将这些十六进制代码粘贴到 UTF-8 code units 字段并单击 Convert

即可轻松看到这一点

请参阅 UniView 处的符号说明。