为什么这个字符 returns 的 ASCII 表示为 226 128 153?
Why is ASCII representation of this character returns as 226 128 153?
所以我正在玩这个工具:
http://www.unit-conversion.info/texttools/ascii/
当我尝试这个角色时:
'
我看到值 039 可以从以下位置验证:http://www.asciitable.com
但我很好奇:
’
这个字符在同一个工具中会return:226 128 153
但据我所知 ASCII 是 8 位(甚至 7 位...)
这里的226 128 153是什么?
好像是UTF16表示。可能该网站正在将字符转换为 "’".charCodeAt(0);
in Javascript
中的代码表示
第一个字符为ASCII,编码39。第二个为UNICODE字符,编码8217。
参见UNICODE character table, specifically for this character。
有关详细信息,请阅读 UNICODE 文章。
$(document).ready(function(){
$('#res').html("’".charCodeAt(0));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='res'><div>
您的字符是 U+2019 RIGHT SINGLE QUOTATION MARK,这也是在大多数位置上表示撇号的正确印刷方式。
该站点所做的是表示 UTF-8 中的字符。正如您在我链接的页面中看到的那样,该字符被编码为三个字节,十六进制为 0xE2 0x80 0x99
,十进制为 226 128 153。
该页面使用 UTF-8 而不是 ASCII 的原因是什么?简单的。首先,ASCII 是 UTF-8 的一个子集。其次,UTF-8支持整个Unicode。因此,如果可以使用 UTF-8 代替,则很少有理由使用 ASCII。
我遇到了同样的问题(尝试将字符串实际转换为大写,运行 转换为该字符,它 'broke' 一堆将具有特殊字符的字符串转换为大写的方法。
我使用了这个解决方案:
$text = preg_replace("/[`‛′’‘]/u", "'", $text);
(不是我的 - 取自此处:)
然后将其转换为常规逗号,您可以对其执行正常的 php 功能。
所以我正在玩这个工具:
http://www.unit-conversion.info/texttools/ascii/
当我尝试这个角色时:
'
我看到值 039 可以从以下位置验证:http://www.asciitable.com
但我很好奇:
’
这个字符在同一个工具中会return:226 128 153
但据我所知 ASCII 是 8 位(甚至 7 位...)
这里的226 128 153是什么?
好像是UTF16表示。可能该网站正在将字符转换为 "’".charCodeAt(0);
in Javascript
第一个字符为ASCII,编码39。第二个为UNICODE字符,编码8217。
参见UNICODE character table, specifically for this character。
有关详细信息,请阅读 UNICODE 文章。
$(document).ready(function(){
$('#res').html("’".charCodeAt(0));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='res'><div>
您的字符是 U+2019 RIGHT SINGLE QUOTATION MARK,这也是在大多数位置上表示撇号的正确印刷方式。
该站点所做的是表示 UTF-8 中的字符。正如您在我链接的页面中看到的那样,该字符被编码为三个字节,十六进制为 0xE2 0x80 0x99
,十进制为 226 128 153。
该页面使用 UTF-8 而不是 ASCII 的原因是什么?简单的。首先,ASCII 是 UTF-8 的一个子集。其次,UTF-8支持整个Unicode。因此,如果可以使用 UTF-8 代替,则很少有理由使用 ASCII。
我遇到了同样的问题(尝试将字符串实际转换为大写,运行 转换为该字符,它 'broke' 一堆将具有特殊字符的字符串转换为大写的方法。
我使用了这个解决方案:
$text = preg_replace("/[`‛′’‘]/u", "'", $text);
(不是我的 - 取自此处:)
然后将其转换为常规逗号,您可以对其执行正常的 php 功能。