文件编码问题

一、为什么会有不同的编码

在英文中,每个字符都有一个数字与之对应,比如:a->41,我们只会把41对应的二进制数值保存到计算机中。计算机的最小存储单元是字节,1btye=8bit .8位(11111111=255),所以只能存储255种情况。这在英文中够用。就是所谓的assii编码。

但是汉字比较多,远不止255种情况,所以用两个字节存储。(65535种情况)。这是gb2312码表。但是后来发现,gb2312还是不能存储所有的中文字符,于是有发现了gbk。gbk包含gb2312,gb2312包含assii。

时间: 2024-08-27 06:19:41

文件编码问题的相关文章

Linux下查看文件编码,文件编码格式转换和文件名编码转换

linux相关   2008-10-07 10:46   阅读1392   评论0   字号: 大大  中中  小小  如果你需要在Linux中 操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linux一般都是 UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set file

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是

【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

下面的内容来自:http://www.cnblogs.com/blueskylcc/p/5332642.html, 对方也是转的,不过没有找到转载的出处: 1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚本的. 2.# -*- coding: utf-8 -*- 是用来指定文件编码为 utf-8 的 详情可以参考:PEP 0263 - Defin

centos 文件编码转码

一直以来centos 下 文件转码都用的是iconv这个命令,最近发现了个enca,比iconv好用多了. iconv示例: iconv -f encoding -t encoding inputfile -o outfile -f  需要转码文件的原编码 -t 需要转为的编码 -o 输出的文件 iconv 弊端,需要知道源文件的原始编码才行. enca: yum -y install enca  #依赖epel源 查看当前文件编码: # enca -L zh_CN host0740960_20

(转)剖析Linux文件编码的查看及修改

Linux文件编码的查看和修改都有不止一种做法,如果你需要在Linux中操作windows下的文件,那么很可能会经常遇到文件编码转换的问题,如何进行这项工作,也应该是经常工作在双系统下的操作者的必须掌握的知识. Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileen

python声明文件编码,必须在文件的第一行或第二行

#coding=utf-8和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型 注意的两点: 1.声明必须在文件的第一行或第二行: 2.coding后面必须紧跟冒号或等号,#coding : utf-8是错的. 例: 声明编码前有字符串 1 '''testing user longin''' 2 #coding:utf-8 3 4 print u'''登录相关的测试''' 或 声明编码位于第三行 1 #'test' 2 3 #coding:utf-8 4 5 print

linux下查看文件编码及修改编码

http://blog.csdn.net/jnbbwyth/article/details/6991425 查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以

[AS3]as3用ByteArray来对SWF文件编码加密实例参考

[AS3]as3用ByteArray来对SWF文件编码加密实例参考,简单来说,就是将 swf 以 binary 的方式读入,并对 ByteArray 做些改变,再重新存成 swf 档.这个作业当然也可能应该是由 Server 进行 步骤一,随便建立一个 swf 当作要被加密的内容档案,怎么做不管,假设档名 asset.swf. 步骤二,做一个用来进行加密工作的 flash: var ul:URLLoader = new URLLoader(); ul.dataFormat = URLLoader

jsp_设置文件编码

jsp有两种方法可以设置文件编码: (1)<%@page language="java" contentType="text/html;charset=utf-8"%> (2)<%@page language="java" contentType="text/html" pageEncoding="utf-8"%> 那么这两种方法有什么区别呢: pageEncoding指的是JSP文

文件编码和文件内的字符串字面值编码是两个概念

我们知道,CALabel的字符串使用的是UTF8编码,通常在xcode下,直接CALabel *p = ...; p->setText("汉字"),显示汉字是没有任何问题的,但是,在VS2013中却显示的是乱码.很多人在群里面问了,我都答:请使用UTF8编码.他说,我的文件是UTF8格式的啊.呵呵,没那么简单好吗,文件编码和字符串字面值编码是两个概念. VS2013的一条预编译指令#pragma execution_character_set("utf-8")