zoukankan      html  css  js  c++  java
  • 灵异的编码事件,niu人帮忙解释了一下

    新建记事本,只输入 “停” 字或者“停止”两个字,保存关闭,重新打开,就会乱码。但是如果汉字输入多了,就不会出现乱码了。。奇迹啊。如果在新建立的文本里只输入“联通”,再如此操作,也会出现该情况。。在xp里出现的是一个口字。。在win7里出现的是啥子都没的。。

     

    后来测试了下,记事本里填写好以上提及的几个字符后,点另存为,如果选择编码为“ANSI”,再保存的话,就要变成一个“口”字。如果选择两个“unicode”,再保存的话,则是正常的,如果选择最后一个“utf-8”,再保存的话,就会啥都不出现。。

     

    具体来说,应该是文件进行保存的时候出现的问题。

     

    ————————————————————

    刚才某位牛人给我说了下。。。

     

     

    Unicode big endian 和 Unicode 都是 Unicode 编码。
    Unicode 是 Little-Endian。
    big endian 和 little endian 不同在于 连续的4个字节(4 bytes) 变成无符号整数时的方法(或者说4个字节的“解释”次序)。

    例如:
    二进制4个字节依次为 00001101 00000110 10000000 00000011
    十进制值:13, 6, 128, 3
    Little-Endian = (13 * 256 * 256 *256) + (6 * 256 *256) + (128 * 256) + 3  = 218529795
    Big-Endian = (3 * 256 * 256 *256) + (128 * 256 *256) +     (6 * 256) + 13 = 58721805

    大多数 PC, VAX 用 Little-Endian
    SUN SPARC,PowerPC, IBM 370,Motorola 68000 系列用Big-Endian

    记事本保存的Unicode文件,若给Big-Endian 计算机用则存Unicode big endian,给PC, VAX 用,则选 Unicode。

    UTF-8 是 Unicode 传送格式,有的网站服务器用UTF-8,这时要存UTF-8。

    ANSI 只能用于西文ASCII码。

    大多数情况下,中文存为 Unicode,英文(包括一般的计算机程序)存为ANSI。

    如果从网页上用粘贴方法贴到记事本,注意存放的编码要与原来网页上编码相同(字看上去不是乱码就对了),大多数情况下,中文存为 Unicode,英文存为ANSI。

  • 相关阅读:
    误区30日谈25-30
    误区30日谈21-24
    误区30日谈16-20
    误区30日谈11-15
    误区30日谈6-10
    eclipse如何导入java项目文件
    Spring配置bean文件的底层实现方式
    hibernate中get,load,list,iterate的用法及比较
    MySQL数据库的事务管理
    单元格样式
  • 原文地址:https://www.cnblogs.com/shlcn/p/2112866.html
Copyright © 2011-2022 走看看