字符集和编码区别以及HTML/JS/CSS实体字符的表示

更新日期: 2022-05-28阅读: 823标签: 

1.字符集/字符编码是什么?

字符集或者说字符编码就是给字符定义了数值编号以及数值编号存储格式。

严格来说字符集和字符编码是两个概念:

  • charset 是 character set 的简写,即字符集。 
  • encoding 是 charset encoding 的简写,即字符集编码,简称编码。

字符集:定义了每个字符对应的二进制数值关系,也就是给字符定义了一个数值编号。 

字符编码:定义了该数值怎么存储(用几个字节来表示,数值二进制格式(有无特定标示))。

但有时候又可以认为是同一个意思:因为唯一对应。比如:ASCII、IOS-8859-1、GB2312、GBK等等既是字符集又是字符编码。不是同一个意思情况:一个字符集对应多个实现形式。比如Unicode只是字符集,对应的字符编码却有多个: UTF-8、UTF-16、UTF-32 。

补充:因为历史原因,最初是一一对应可以看成一个意思,后来出现一对情况拆分两个意思,所以有些地方认为是一个意思,有些不这样认为,存在混淆,得自己明辨是非。

比如:charset也表示字符编码的意思。在 html中用charset指定字符集:

<meta charset="UTF-8">

准确来说UTF-8是字符编码。而在xml中用encoding表示字符编码显得更加严紧:

<?xml version="1.0" encoding="UTF-8"?>

实际我们只要关心字符编码,因为由它决定存取和传输的格式。值注意:关于Unicode的多重意思。

(1)Unicode 标准 
(2)Unicode 字符集 
(3)Unicode 的抽象编码(编号),也即码点(code point) 
(4)Unicode 的一个具体编码实现,通常即为变长的 UTF-16(16 或 32 位),又或者是更早期的定长 16 位的 UCS-2

特别注意java中编码的问题:

1.常说的java采用Unicode编码,用两个字节表示字符。这里的Unicode编码的意思是用定长UTF-16字符编码,也就是运行时内存中一个字符用两个字节存储。

2.有时候说java默认是UTF-8编码.其实说的是jvm默认编码是UTF-8,该编码默认用处:字符和字节数据组的转换,io流转换。如果没有设置jvm默认编码,那么默认使用操作系统的编码。也可以自己更改jvm的编码:更改JVM参数 -Dfile.encoding=UTF-8。

 以上内容,对字符集和字符编码应该有了个了解。一般说某某使用了Unicode编码其实说的是某个具体实现,最常用是UTF-8,UTF-16实现形式。

 

2.什么是html实体or实体字符or字符实体?

通常说法:HTML一些预留字符(有特殊意义字符(比如标签的“<”标示)),不能直接在文本使用,必须使用字符实体。以及键盘不能直接输入的字符。

常见的HTML实体名称和字符

实体名称   字符           描述
&lt;            <    小于号或显示标记
&gt;            >    大于号或显示标记
&amp;    &    可用于显示其它特殊字符
&quot;    “    引号
&reg;    ®    已注册
&copy;    ©    版权
&trade;    ™    商标
&ensp;         半个空白位
&emsp;         一个空白位
&nbsp;         空格

字符实体有三部分:

一个和号‘&’和一个实体名称(或者一个‘#’ 和一个实体编号),以及一个分号‘;’。

例子:“<”的字符实体。

<两种表现形式:
实体名称的方式:&lt;
实体编号的方式:&#60; //或者 &#x003C; (16进制格式(&#x;))
字符编号其实是ascii码的编号,并且用十进制和十六进制都可以。一些特殊字符有实体名称,可以用实体名称表示,可以查下面ISO-8859-1字符集表。不只是预留字符!其实所有字符都能用字符实体来表示,通过实体编号也就是ascii码的编号来表示。

ISO-8859-1(HTML 4.01 中默认)和 UTF-8(HTML5 中默认)都是基于 ASCII 构建的。

ASCII 字符集

ASCII 指的是“美国信息交换标准代码”(American Standard Code for Information Interchange)。

表:

字符    数字    描述
     0 - 31    Control characters (see below)
     32    space
!    33    exclamation mark
"    34    quotation mark
#    35    number sign
$    36    dollar sign
%    37    percent sign
&    38    ampersand
'    39    apostrophe
(    40    left parenthesis
)    41    right parenthesis
*    42    asterisk
+    43    plus sign
,    44    comma
-    45    hyphen
.    46    period
/    47    slash
0    48    digit 0
1    49    digit 1
2    50    digit 2
3    51    digit 3
4    52    digit 4
5    53    digit 5
6    54    digit 6
7    55    digit 7
8    56    digit 8
9    57    digit 9
:    58    colon
;    59    semicolon
<    60    less-than
=    61    equals-to
>    62    greater-than
?    63    question mark
@    64    at sign
A    65    uppercase A
B    66    uppercase B
C    67    uppercase C
D    68    uppercase D
E    69    uppercase E
F    70    uppercase F
G    71    uppercase G
H    72    uppercase H
I    73    uppercase I
J    74    uppercase J
K    75    uppercase K
L    76    uppercase L
M    77    uppercase M
N    78    uppercase N
O    79    uppercase O
P    80    uppercase P
Q    81    uppercase Q
R    82    uppercase R
S    83    uppercase S
T    84    uppercase T
U    85    uppercase U
V    86    uppercase V
W    87    uppercase W
X    88    uppercase X
Y    89    uppercase Y
Z    90    uppercase Z
[    91    left square bracket
\    92    backslash
]    93    right square bracket
^    94    caret
_    95    underscore
`    96    grave accent
a    97    lowercase a
b    98    lowercase b
c    99    lowercase c
d    100    lowercase d
e    101    lowercase e
f    102    lowercase f
g    103    lowercase g
h    104    lowercase h
i    105    lowercase i
j    106    lowercase j
k    107    lowercase k
l    108    lowercase l
m    109    lowercase m
n    110    lowercase n
o    111    lowercase o
p    112    lowercase p
q    113    lowercase q
r    114    lowercase r
s    115    lowercase s
t    116    lowercase t
u    117    lowercase u
v    118    lowercase v
w    119    lowercase w
x    120    lowercase x
y    121    lowercase y
z    122    lowercase z
{    123    left curly brace
|    124    vertical bar
}    125    right curly brace
~    126    tilde

ASCII 控制字符(范围为 00-31,外加 127)旨在控制硬件设备。
控制字符(水平制表符、换行符和回车符除外)与 HTML 文档无关。

字符    数字    描述
NUL    00    null character
SOH    01    start of header
STX    02    start of text
ETX    03    end of text
EOT    04    end of transmission
ENQ    05    enquiry
ACK    06    acknowledge
BEL    07    bell (ring)
BS    08    backspace
HT    09    horizontal tab
LF    10    line feed
VT    11    vertical tab
FF    12    form feed
CR    13    carriage return
SO    14    shift out
SI    15    shift in
DLE    16    data link escape
DC1    17    device control 1
DC2    18    device control 2
DC3    19    device control 3
DC4    20    device control 4
NAK    21    negative acknowledge
SYN    22    synchronize
ETB    23    end transmission block
CAN    24    cancel
EM    25    end of medium
SUB    26    substitute
ESC    27    escape
FS    28    file separator
GS    29    group separator
RS    30    record separator
US    31    unit separator
           
DEL    127    delete (rubout)

ISO-8859-1字符集

ISO-8859-1 是 HTML 4.01 中的默认字符。使用范围:北美,西欧,拉丁美洲,加勒比海,加拿大,非洲。

ISO(International Standards Organization,国际标准组织)为不同的字母/语言定义了标准字符集。
ISO-8859 是一个系列,还有覆盖其他地方的比如,南欧,北欧的一些国家的字符。包含了ascii所有字符外还有一些特殊符号。

(部分特殊的有实体名称)

字符    实体编号    实体名称    描述
     0 - 31         Control characters
     32         space
!    33         exclamation mark
"    34    &quot;    quotation mark
#    35         number sign
$    36         dollar sign
%    37         percent sign
&    38    &amp;    ampersand
'    39         apostrophe
(    40         left parenthesis
)    41         right parenthesis
*    42         asterisk
+    43         plus sign
,    44         comma
-    45         hyphen-minus
.    46         full stop
/    47         solidus
0    48         digit zero
1    49         digit one
2    50         digit two
3    51         digit three
4    52         digit four
5    53         digit five
6    54         digit six
7    55         digit seven
8    56         digit eight
9    57         digit nine
:    58         colon
;    59         semicolon
<    60    &lt;    less-than sign
=    61         equals sign
>    62    &gt;    greater-than sign
?    63         question mark
@    64         commercial at
A    65         Latin capital letter A
B    66         Latin capital letter B
C    67         Latin capital letter C
D    68         Latin capital letter D
E    69         Latin capital letter E
F    70         Latin capital letter F
G    71         Latin capital letter G
H    72         Latin capital letter H
I    73         Latin capital letter I
J    74         Latin capital letter J
K    75         Latin capital letter K
L    76         Latin capital letter L
M    77         Latin capital letter M
N    78         Latin capital letter N
O    79         Latin capital letter O
P    80         Latin capital letter P
Q    81         Latin capital letter Q
R    82         Latin capital letter R
S    83         Latin capital letter S
T    84         Latin capital letter T
U    85         Latin capital letter U
V    86         Latin capital letter V
W    87         Latin capital letter W
X    88         Latin capital letter X
Y    89         Latin capital letter Y
Z    90         Latin capital letter Z
[    91         left square bracket
\    92         reverse solidus
]    93         right square bracket
^    94         circumflex accent
_    95         low line
`    96         grave accent
a    97         Latin small letter a
b    98         Latin small letter b
c    99         Latin small letter c
d    100         Latin small letter d
e    101         Latin small letter e
f    102         Latin small letter f
g    103         Latin small letter g
h    104         Latin small letter h
i    105         Latin small letter i
j    106         Latin small letter j
k    107         Latin small letter k
l    108         Latin small letter l
m    109         Latin small letter m
n    110         Latin small letter n
o    111         Latin small letter o
p    112         Latin small letter p
q    113         Latin small letter q
r    114         Latin small letter r
s    115         Latin small letter s
t    116         Latin small letter t
u    117         Latin small letter u
v    118         Latin small letter v
w    119         Latin small letter w
x    120         Latin small letter x
y    121         Latin small letter y
z    122         Latin small letter z
{    123         left curly bracket
|    124         vertical line
}    125         right curly bracket
~    126         tilde
     127         Control character

在 ISO-8859-1 中,未定义 128 到 159 之间的字符。
但存在约定俗成一些字符:
字符    实体编号    实体名称    描述
€    128    &euro;    euro sign
     129         NOT USED
‚    130    &sbquo;    single low-9 quotation mark
ƒ    131    &fnof;    Latin small letter f with hook
„    132    &bdquo;    double low-9 quotation mark
…    133    &hellip;    horizontal ellipsis
†    134    &dagger;    dagger
‡    135    &Dagger;    double dagger
ˆ    136    &circ;    modifier letter circumflex accent
‰    137    &permil;    per mille sign
Š    138    &Scaron;    Latin capital letter S with caron
‹    139    &lsaquo;    single left-pointing angle quotation mark
Œ    140    &OElig;    Latin capital ligature OE
     141         NOT USED
Ž    142    &Zcaron;    Latin capital letter Z with caron
     143         NOT USED
     144         NOT USED
‘    145    &lsquo;    left single quotation mark
’    146    &rsquo;    right single quotation mark
“    147    &ldquo;    left double quotation mark
”    148    &rdquo;    right double quotation mark
•    149    &bull;    bullet
–    150    &ndash;    en dash
—    151    &mdash;    em dash
˜    152    &tilde;    small tilde
™    153    &trade;    trade mark sign
š    154    &scaron;    Latin small letter s with caron
›    155    &rsaquo;    single right-pointing angle quotation mark
œ    156    &oelig;    Latin small ligature oe
     157         NOT USED
ž    158    &zcaron;    Latin small letter z with caron
Ÿ    159    &Yuml;    Latin capital letter Y with diaeresis

ISO-8859-1(从 160 到 191 的编码)的下一部分包含常用的特殊字符。
字符    实体编号    实体名称    描述
     &#160;    &nbsp;    non-breaking space
¡    &#161;    &iexcl;    inverted exclamation mark
¢    &#162;    &cent;    cent
£    &#163;    &pound;    pound
¤    &#164;    &curren;    currency
¥    &#165;    &yen;    yen
¦    &#166;    &brvbar;    broken vertical bar
§    &#167;    &sect;    section
¨    &#168;    &uml;    spacing diaeresis
©    &#169;    &copy;    copyright
ª    &#170;    &ordf;    feminine ordinal indicator
«    &#171;    &laquo;    angle quotation mark (left)
¬    &#172;    &not;    negation
­    &#173;    &shy;    soft hyphen
®    &#174;    &reg;    registered trademark
¯    &#175;    &macr;    spacing macron
°    &#176;    &deg;    degree
±    &#177;    &plusmn;    plus-or-minus
²    &#178;    &sup2;    superscript 2
³    &#179;    &sup3;    superscript 3
´    &#180;    &acute;    spacing acute
µ    &#181;    &micro;    micro
¶    &#182;    &para;    paragraph
·    &#183;    &middot;    middle dot
¸    &#184;    &cedil;    spacing cedilla
¹    &#185;    &sup1;    superscript 1
º    &#186;    &ordm;    masculine ordinal indicator
»    &#187;    &raquo;    angle quotation mark (right)
¼    &#188;    &frac14;    fraction 1/4
½    &#189;    &frac12;    fraction 1/2
¾    &#190;    &frac34;    fraction 3/4
¿    &#191;    &iquest;    inverted question mark

ISO-8859-1 的较高部分(从 192 到 255 的编码,215 和 247 除外)包含西欧国家/地区使用的字符。
字符    实体编号    实体名称    描述
À    &#192;    &Agrave;    capital a, grave accent
Á    &#193;    &Aacute;    capital a, acute accent
    &#194;    &Acirc;    capital a, circumflex accent
à   &#195;    &Atilde;    capital a, tilde
Ä    &#196;    &Auml;    capital a, umlaut mark
Å    &#197;    &Aring;    capital a, ring
Æ    &#198;    &AElig;    capital ae
Ç    &#199;    &Ccedil;    capital c, cedilla
È    &#200;    &Egrave;    capital e, grave accent
É    &#201;    &Eacute;    capital e, acute accent
Ê    &#202;    &Ecirc;    capital e, circumflex accent
Ë    &#203;    &Euml;    capital e, umlaut mark
Ì    &#204;    &Igrave;    capital i, grave accent
Í    &#205;    &Iacute;    capital i, acute accent
Î    &#206;    &Icirc;    capital i, circumflex accent
Ï    &#207;    &Iuml;    capital i, umlaut mark
Ð    &#208;    &ETH;    capital eth, Icelandic
Ñ    &#209;    &Ntilde;    capital n, tilde
Ò    &#210;    &Ograve;    capital o, grave accent
Ó    &#211;    &Oacute;    capital o, acute accent
Ô    &#212;    &Ocirc;    capital o, circumflex accent
Õ    &#213;    &Otilde;    capital o, tilde
Ö    &#214;    &Ouml;    capital o, umlaut mark
×    &#215;    &times;    multiplication
Ø    &#216;    &Oslash;    capital o, slash
Ù    &#217;    &Ugrave;    capital u, grave accent
Ú    &#218;    &Uacute;    capital u, acute accent
Û    &#219;    &Ucirc;    capital u, circumflex accent
Ü    &#220;    &Uuml;    capital u, umlaut mark
Ý    &#221;    &Yacute;    capital y, acute accent
Þ    &#222;    &THORN;    capital THORN, Icelandic
ß    &#223;    &szlig;    small sharp s, German
à    &#224;    &agrave;    small a, grave accent
á    &#225;    &aacute;    small a, acute accent
â    &#226;    &acirc;    small a, circumflex accent
ã    &#227;    &atilde;    small a, tilde
ä    &#228;    &auml;    small a, umlaut mark
å    &#229;    &aring;    small a, ring
æ    &#230;    &aelig;    small ae
ç    &#231;    &ccedil;    small c, cedilla
è    &#232;    &egrave;    small e, grave accent
é    &#233;    &eacute;    small e, acute accent
ê    &#234;    &ecirc;    small e, circumflex accent
ë    &#235;    &euml;    small e, umlaut mark
ì    &#236;    &igrave;    small i, grave accent
í    &#237;    &iacute;    small i, acute accent
î    &#238;    &icirc;    small i, circumflex accent
ï    &#239;    &iuml;    small i, umlaut mark
ð    &#240;    &eth;    small eth, Icelandic
ñ    &#241;    &ntilde;    small n, tilde
ò    &#242;    &ograve;    small o, grave accent
ó    &#243;    &oacute;    small o, acute accent
ô    &#244;    &ocirc;    small o, circumflex accent
õ    &#245;    &otilde;    small o, tilde
ö    &#246;    &ouml;    small o, umlaut mark
÷    &#247;    &divide;    division
ø    &#248;    &oslash;    small o, slash
ù    &#249;    &ugrave;    small u, grave accent
ú    &#250;    &uacute;    small u, acute accent
û    &#251;    &ucirc;    small u, circumflex accent
ü    &#252;    &uuml;    small u, umlaut mark
ý    &#253;    &yacute;    small y, acute accent
þ    &#254;    &thorn;    small thorn, Icelandic
ÿ    &#255;    &yuml;    small y, umlaut mark

 补充:HTML实体目的让特殊字符不对解析HTML产生问题,事实却又带来新的XSS问题。

HTML实体增加了过滤xss的难度。字符实体不会当做标签处理但是写在标签属性值位置却可以按常规效果执行。比如:如果href属性值可以注入,做了对Javascript过滤,那么

<a href=javascript:alert(1); >aa</a>

其中alert(1)不会执行。如果javascript:alert(1);进行实体字符转换为:

那么变成了下面效果:
<a href=
&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;&#59;
>aa</a>
这时候alert会正常执行。xss利用一些属性值可以执行js伪协议(javascript:执行脚本)。据说实体字符是在dom树节点创建后才会解码,正因为如此,实体字符不能创建节点。


3.css实体字符,js实体字符

不仅html有实体字符,css,js也支持字符编码的方式显示。

在Unicode字符集也就是UTF-8字符编码下,一些常见字符和实体表示如下:

符号   HTML        JS      CSS     符号   HTML        JS      CSS
⇠    &#8672    \u21E0    \21E0    ⇢    &#8674    \u21E2    \21E2
⇡     &#8673    \u21E1    \21E1    ⇣    &#8675    \u21E3    \21E3
↞    &#8606    \u219E    \219E    ↠    &#8608    \u21A0    \21A0
↟     &#8607    \u219F    \219F    ↡    &#8609    \u21A1    \21A1
←     &#8592    \u2190    \2190    →    &#8594    \u2192    \2192
↑     &#8593    \u2191    \2191    ↓    &#8595    \u2193    \2193
↔     &#8596    \u2194    \2194    ↕    &#8597    \u2195    \2195
⇄     &#8644    \u21C4    \21C4    ⇅    &#8645    \u21C5    \21C5
↢     &#8610    \u21A2    \21A2    ↣    &#8611    \u21A3    \21A3
⇞     &#8670     \u21DE    \21DE     ⇟    &#8671    \u21DF    \21DF
↫     &#8619    \u21AB    \21AB    ↬    &#8620    \u21AC    \21AC
⇜    &#8668     \u21DC    \21DC     ⇝    &#8669    \u21DD    \21DD
↚    &#8602     \u219A    \219A     ↛    &#8603    \u219B    \219B
↮    &#8622     \u21AE    \21AE     ↭    &#8621    \u21AD    \21AD
⇦     &#8678     \u21E6    \21E6     ⇨    &#8680    \u21E8    \21E8
⇧     &#8679     \u21E7    \21E7     ⇩    &#8681    \u21E9    \21E9
▲     &#9650     \u25B2    \25B2     ►    &#9658    \u25BA    \25BA
▼     &#9660     \u25BC    \25BC     ◄    &#9668    \u25C4    \25C4
➔    &#10132    \u2794    \2794    ➙    &#10137    \u2799    \2799
➨    &#10152    \u27A8    \27A8    ➲    &#10162    \u27B2    \27B2
➜    &#10140    \u279C    \279C    ➞    &#10142    \u279E    \279E
➟    &#10143    \u279F    \279F    ➠    &#10144    \u27A0    \27A0
➤    &#10148    \u27A4    \27A4    ➥    &#10149    \u27A5    \27A5
➦    &#10150    \u27A6    \27A6    ➧    &#10151    \u27A7    \27A7
➵    &#10165    \u27B5    \27B5    ➸    &#10168    \u27B8    \27B8
➼    &#10172    \u27BC    \27BC    ➽    &#10173    \u27BD    \27BD
➺    &#10170    \u27BA    \27BA    ➳    &#10163    \u27B3    \27B3
↷     &#8631    \u21B7    \21B7     ↶    &#8630    \u21B6    \21B6
↻     &#8635    \u21BB    \21BB     ↺    &#8634    \u21BA    \21BA
↵     &#8629    \u21B5    \21B5     ↯    &#8623    \u21AF    \21AF

3.1.css实体字符例子:

<!DOCTYPE html>
<html>
<style>
p:after {
  content: '\21E0';
}
</style>
<body>
<p>显示</p>
</body>
</html>

在css中不止特殊符号,一些常见字符(a-z,0-9)也可以:在css中的格式: 反斜杠+ascii码值的16进制。字符编号必须放在属性值位置。比如:

<p style="\61\62">aaaa</p> //ab  反斜杠后数值是字符集的16进制表示。

3.2.js实体字符的例子:

var code2 = '\u0061';
document.write(code2); // a

在js中如果表示ascii字符集范围的字符可以不用“\u”开头直接使用反斜杠+assii码值的八进制就可以。

var code='\141'; //八进制。
如果十六进制使用“\x”开头。
所有在js中字符编码的表示就有三种“\u”,“\”,“\x”。


JavaScript提供了一些特殊字符如:
\n (换行)、 \r (回车)、\’ (单引号 )等。
其实"\"后面还可以跟八进制或十六进制的数字,
如字符"a"则可以表示为:
"\141"或"\x61"(注意是小写字符"x"),
至于双字节字符如汉字"黑"则仅能用十六进制表示为"\u9ED1"(注意是小写字符"u"),其中字符"u"(unicode)表示是双字节字符。

八进制转义字符串如下:  
<SCRIPT LANGUAGE="JavaScript">  
eval("\141\154\145\162\164\50\42\u9ED1\u5BA2\u9632\u7EBF\42\51\73")  
</SCRIPT> 

十六进制转义字符串如下:  
<SCRIPT LANGUAGE="JavaScript">  
eval("\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B")  
</SCRIPT> 
 
<SCRIPT LANGUAGE="JavaScript">  
alert("\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B")  
</SCRIPT> 

总结:html,js,css实体表示格式:

以字符的编号为基础

html实体,“&#”+字符编号+“;” ; //字符编号是十进制的。
CSS实体,“\”+字符编号 ; //字符编号要转16进制,才是编号对应的字符。
javascript ,“\u”+字符编号。 //字节编号要转16进制。\编号的八进制,\u和\x编号的16进制。


链接: https://fly63.com/article/detial/11601

js之汉字与Unicode码的相互转化

js unicode是以十六进制代码外加开头\\u表示的字符串。本文将讲解通过js实现unicode转化为汉字的方法,实现汉字转Unicode码。

中文utf 8占几个byte——UTF-8中一个汉需要占用三个字节

中文汉字在utf-8中到底占几个字节,一般是3个字节,最常见的编码方式是1110xxxx 10xxxxxx 10xxxxxx。

终于搞懂了回车与换行的区别

关于换行和回车其实平时我们不太在意,所以关于两者的区别也不太清楚,在平时开发时可能会遇到一些文件处理的问题,放到不同的操作系统上出现各种坑。那么回车和换行到底有哪些区别呢?

ascii码表/ascii编码_最全的ASCII码对照表

ASCII是基于拉丁字母的一套电脑编码系统。这篇文章主要介绍: 什么是ASCII、ASCII简介、ASCII码产生、ASCII码的算法、汉字编码、ASCII码图、最全的ASCII码对照表

js编码方式详解

escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码字符串的三个常用的方法,而他们之间的异同却困扰了很多的Javascript初学者,今天我就在这里对这三个方法详细地分析与比较一下。

js实现unicode码字符串与utf8字节数据互转

js的string变量存储字符串使用的是unicode编码,要保存时必须选择其他编码后进行传输,比如转成utf-8,utf-32等。存储到数据库中为utf-8编码,可以正确支持中文、emoji表情、英文混合的字符串编码互转

Unicode字符集和UTF8编码编码的前世今生

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了

web开发中URL编码

因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的。也就是说,url的参数传递的时候,需要遵循一定的url规范才能正确的传送。通常如果一样东西需要编码,说明这样东西并不适合传输。

字符集和编码

字符集 Charset :是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码。

带你了解字符编码的前世今生

世界第一台计算机诞生了。计算机由硬件和系统软件组成,它最基本的功能就是存储、表示与处理信息。通俗地说,信息其实就是由各种各样的字符组成,比如英文字母、汉字以及其他国家的语言等。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!