首先DBCS是亚洲的字符集,包含了ANSI,ANSI也就是ASCII值为0-255之间的字符,当字符为ANSI时,存放于文件中占用的是一个字节。如果是非ANSI的呢,则占用两字节。用VB的ASC函数可以很容易得到一个字符的DBCS值(或是说ANSI值吧)

假如一个字符得到的DBCS值为&H1234,当然,这个值是转换成了十六进制的,因为对于磁盘存放来说,一般使用位(BIT),即二进制存放,而显示字节呢用十六进制显示则非常直观。存放在文件中即"12 34"(这是用十六进制文本编辑器中查看到的形式)

而UNICODE是世界性的字符集,几乎包含了世界上的所有字符,每个字符都有一个单一的UNICODE值。UNICODE值也是占用两个字节的。但不同的是它虽然也包含了标准的ANSI字符值,但是ANSI字符只占用一个字节,UNICODE会自动在ANSI值后加入一个值为0的字节。比如说一个 ANSI值为&h45的字符,以UNICODE形式存放则为"45 00"。至于如何用VB得到一个字符的UNICODE值,ASCW函数可以轻松搞定。但是普通的非ANSI字符以UNICODE形式时则是从右存到左的。比如一个值为&H1234的字符,存为UNICODE时则为"34 12"

知道了这些有什么用呢?UNICODE的意义在于能让不同环境下的操作系统识别。比如说吧,你在中文的操作系统下使用记事本写了一篇文本文章。但你要拿到别的环境下的WIN2K(之所以选WIN2K,是因为WIN2K支持UNICODE,否则用WIN98只能用外接中文平台才能查看)下查看(比如美国的电脑,操作系统为英文,代码页也是美国(WIN2K有设置代码页)),即使该电脑已经安装了中文字体,即使用WORD这样的编辑软件打开也肯定是乱码一堆。这是为什么呢?因为英文的WIN2K操作系统只能识别UNICODE呀!并不能识别咱们亚洲的DBCS码呀!
解决方法只要你把它转换为UNICODE码存放就OK了!像Utrla Edit就能转换。WIN2K里也有代码转换器可以,而WIN2K下的记事本则可以用另chun为UNICODE码。如果你使用的是WIN9X,则可以自己用VB解决了。UNICODE码存放的文本文件与普通的文本文件不同之处仅仅是文件头加了"FF FE"而已。其他的则是代码值不同。只要转换了字符的代码,并在文件前加上"FF FE"这两个字节,就是把这篇中文文章保存为UNICODE格式了!转换成UNICODE格式后,英文操作系统的机器只要用WORD打开你的文件就能查看了!(为什么用WORD是因为它有字体识别功能。普通记事本只把文字链接到系统字体上,而英文系统的默认字体可不是不包含中文的哟!当然就显示不出来啦)

文本格式ANSI,Unicode等有什么区别的更多相关文章

  1. python 保存文本txt格式之总结篇,ANSI,unicode,UTF-8

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAEmCAIAAACmsIlUAAAgAElEQVR4nOydezxU+f/HP49WSstKkZ

  2. AJPFX解析关于编码ansi、GB2312、unicode与utf-8的区别

    大家平时遇到乱码问题是否有自己的一套解决方案?这篇文章就是介绍一下常用的编码方式关于编码ansi.GB2312.unicode与utf-8的区别 先做一个小小的试验: 在一个文件夹里,把一个txt文本 ...

  3. Ansi,UTF8,Unicode,ASCII编码的区别

    Ansi,UTF8,Unicode,ASCII编码的区别 近日需要不同的编码,关于上述编码,一直迷迷糊糊,查了些资料,总算大致了解了, 下面全是从网上搜来的: 1.  ASCII和Ansi编码     ...

  4. unicode ansi utf-8 unicode_big_endian编码的区别

      随便说说字符集和编码  快下班时,爱问问题的小朋友Nico又问了一个问题:  "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思.&quo ...

  5. Ansi,UTF8,Unicode,ASCII编码的区别 ---我看完了 明白了很多

    来自:http://blog.csdn.net/xiongxiao/article/details/3741731 ------------------------------------------ ...

  6. unicode编码与utf-8 区别

    unicode编码与utf-8 区别 如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中: 所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码.[1] ...

  7. 字符编解码的故事 字符集 GBK GB2312 GB18030 Unicode 的由来和区别

    本文为转载. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来 ...

  8. 各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK)

    一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go! ...

  9. 设置环境下文本格式为UTF-8

    1.在页面创建一个template.txt文本格式,默认是ANSI,将其格式改为UTF-8 2.将template.txt丢到C:\Windows\ShellNew文件夹里面 3.打开命令行工具win ...

随机推荐

  1. jquery 下拉框 收藏

    jquery 下拉框  Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code. ...

  2. 理解WebKit和Chromium(电子书)

    前言   基础篇 WebKit, WebKit2, Chromium和Chrome介绍 WebKit和Blink WebKit和Chromium代码目录结构介绍 WebKit和Chromium功能模块 ...

  3. OR查询

    OR查询包含:$or和$in $or可以在多个键中查询任意给定的值:$in可以指定不同类型的条件和值. 查询MasertID小于3或者MasterSort等于3的文档: db.SysCore.find ...

  4. Openjudge-计算概论(A)-判断闰年

    描述: 判断某年是否是闰年.输入输入只有一行,包含一个整数a(0 < a < 3000)输出一行,如果公元a年是闰年输出Y,否则输出N样例输入 2006 样例输出 N 提示:公历纪年法中, ...

  5. jq选择器对象筛选

    1.选择对象 1).基本 ·#id 根据给定的ID匹配一个元素.例如:$("#id")·element 根据给定的元素名匹配所有元素.例如:$("div")·. ...

  6. 网页 JavaScript的DOM操作

    今天,我首先对之前学习的内容进行了复习,然后学习了当鼠标指向某一个按钮时,切换对应的背景图片. <div id="d1"> </div> <input ...

  7. CSS 各类 块级元素 行级元素 水平 垂直 居中问题

    元素的居中问题是每个初学者碰到的第一个大问题,在此我总结了下各种块级 行级 水平 垂直 的居中方法,并尽量给出代码实例. 首先请先明白块级元素和行级元素的区别 行级元素 一块级元素 1 水平居中: ( ...

  8. POJ 3737/三分

    题目链接[http://poj.org/problem?id=3737] 题意:给出一个圆锥的表面积,求最大的体积,并输出最大体积的时候的圆锥的高度和底面积. 方法一: 根据定理:圆锥的表面积一定的时 ...

  9. 简单的JDBC连接oracle数据库例子

    java连接Oracle数据库 JDBC(Java Data Base Connectivity,java数据库连接),那么我们该如何用java进行数据库的连接呢. import java.sql.C ...

  10. php+ajax的三级联动下拉菜单

    封装一个三级联动,就可以在任何页面进行引用了 先写个页面引用一下这个js <head> <meta http-equiv="Content-Type" conte ...