Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127430
  • 博文数量: 49
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -15
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-03 22:22
个人简介

小楼一夜听春雨

文章分类
文章存档

2017年(1)

2016年(2)

2015年(5)

2014年(21)

2013年(5)

2012年(7)

2010年(6)

2009年(2)

我的朋友

分类: C/C++

2012-04-30 09:08:13

回车与换行
  回车'0d'或\r或CR, 换行'0a'或\n或LF
  unix: '\n', mac: '\r', windows: "\r\n"

为什么负数的补码等于其绝对值取反再加一
  下面是8位的二进制与十进制的对照表
    二进制数    十进制数
    10000000    -128
    10000001    -127
    10000010    -126
    ........    ....
    11111101    -3
    11111110    -2
    11111111    -1
    00000000     0
    00000001     1
    00000010     2
    ........    ....
    01111100     124
    01111101     125
    01111110     126
    01111111     127
  通过观察易发现绝对值相同的正负数相加,其结果为1,0000,0000
  设此两数分别为A和B,那么A+B=1,0000,0000=11111111 + 1
  从而A=(11111111+1) - B = (11111111-B) + 1 = B取反所得数+1
  不过要注意对于10000000,即十进制的-128,没有对应的128,所以不能作如上计算

为什么会有乱码
  一般而言,编码的本质是形到数的映射,解码的本质是数到形的映射。乱码的出现,就是解码过程出了问题。我们把正确的解码程序集表示为{<数1,形1>,<数2,形2>,...}。如果你用<数a, 形b>去解码数c,显然是不行的。大部分程序允许显示指定使用的编码,如utf-8,gb2312...。你指定对了,解码就没问题了。当然,有些程序号称是智能的,声称能自动识别所用的编码类型。然而有时它还是会出问题的,这时一般可以采用显示指定来解决问题。

ASCII码
 asciifull.gif  

UCS-2和UCS-4

中文编码杂谈
阅读(1437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~