我们使用Javascript函数toLocaleTimeString()来解析日期/时间。最新版本的Chrome突然在秒和AM/PM之间返回ASCII 226。Edge没有任何问题,旧版本的Chrome也没有。110+有这个问题,109或更早版本没有。
例如,如果返回的最后几个字符为:
00上午
其ASCII转换为:
四十八四十八二百二十六一百二十八一百七十五
226原来是32(空格)。
有人也看到这种行为吗?
我们使用Javascript函数toLocaleTimeString()来解析日期/时间。最新版本的Chrome突然在秒和AM/PM之间返回ASCII 226。Edge没有任何问题,旧版本的Chrome也没有。110+有这个问题,109或更早版本没有。
例如,如果返回的最后几个字符为:
00上午
其ASCII转换为:
四十八四十八二百二十六一百二十八一百七十五
226原来是32(空格)。
有人也看到这种行为吗?
2条答案
按热度按时间ep6jt1vc1#
这显然是由this V8 CL引起的
以下是此ChangeLog的摘要:
[intl]增强日期解析器以采用Unicode SPACE
这是为ICU 72登陆做准备所必需的。允许在日期字符串中使用U+202 F,toLocaleString(“en-US”)将使用ICU 72生成该字符串。
所以这是为了支持next version of ICU-72,我们可以假设其他浏览器也会这样做。
qlzsbp2j2#
我认为这是不间断空格。Non-breaking space
由于它也发生在Edge110上,我认为它是从 chrome 衍生而来的。