编码转换之“中”字

unicode

\u4e2d

ascii码

\u4e2d

\ -> 92

u -> 117

4 -> 52

e -> 101

2 -> 50

d -> 100

utf8

utf8是unicode另一种表式

#十六进制实体
中

4e2d十进制

#十进制实体
中

4e2d -> 20013

4e2d二进制

0100 1110 0010 1101

4 -> 0100

e -> 1110

2 -> 0010

d -> 1101

utf8

第一个字节

  • 前三位是 111,表示这是一个三字节的 UTF-8 字符。
  • 接下来的 4 位(xxxx)是 Unicode 码点 0100 1110 0010 1101 的前 4 位

第二个字节

  • 前两位是 10,表示这是一个 UTF-8 的后续字节。
  • 接下来的 6 位是 Unicode 码点接下来的 6 位,即 1110 0010(从 Unicode 码点中跳过已经用于第一个字节的 4 位)。

第三个字节

  • 前两位是 10,表示这是 UTF-8 的另一个后续字节。
  • 接下来的 6 位是 Unicode 码点剩下的 6 位,即 1011 0101

1110 0100

10 1110 00

10 10 1101

三字节转换

二进制

11100100 10111000 10101101

16进制

E4 B8 AD

11100100 -> E4

10111000 -> B8

10101101 -> AD

url编码

%E4%B8%AD

ascii码

45 34 42 38 41 44
#unicode
\u0045\u0034\u0042\u0038\u0041\u0044

E -> 45

4 -> 34

B -> 42

8 -> 38

A -> 41

D -> 44

十进制实体

E4B8AD

45 -> 69

34 -> 52

42 -> 66

38 -> 56

41 -> 65

44 -> 68

C# byte(10进制)

228 184 173

十进制

11100100 -> 228

10111000 -> 184

10101101 -> 173

java byte

基于ISO-8859-1字符集(Java使用平台的默认字符集),用补码。

-28 -72 -83

对应的原码(即该负数的绝对值),我们需要执行以下步骤:

  1. 对除了符号位之外的所有位取反(即0变1,1变0)。
  2. 将取反后的结果加1。

11100100 -> 00011100 -> -28

10111000 -> 01001000 -> -72

10101101 -> 01010011 -> -83

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容