admin 管理员组

文章数量: 887021


2024年1月23日发(作者:access后接什么介词)

在TxT中有4种编码格式:

第一种 ANSI :

Txt不加默认前缀,汉字顺序两个字节,字符一个字节GB。

第二种 UTF-8:

-17 -69 -65 前缀。变字节的Unicode

第三种 Unicode-big

-2 -1 前缀。标准的Unicode。

第四种Unicode-lit

-1 -2 前缀。标准的Unicode。

记事本如何识别字节流呢?就是通过前缀的判断,再把该字节流用相应的方式转化成本地的编码格式。在保存的时候,通过用户对这4种编码的选择(默认为本地编码),把字节流转化成相应的编码流,在头部加上相印的标识。

该结论在java程序上验证成功。

1,分别用4种格式保存相同的字符串。然后再把4种格式的比特流输出。

2,为每种格式的文本,打开保存不同的字符串,找出公共头部。

import putStream;

import tFoundException;

import ption;

public class TxtCoding {

public static void main(String[] args) throws IOException {

FileInputStream inU8 = new FileInputStream("D://");

FileInputStream inU81 = new FileInputStream("D://");

FileInputStream inU82 = new FileInputStream("D://");

FileInputStream inUbig = new FileInputStream("D://");

FileInputStream inUlit = new FileInputStream("D://");

FileInputStream inAnsi = new FileInputStream("D://");

//U8

byte[] b8 = new byte[10];

(b8);

n("UTF-8:");

for(byte b : b8)

{

(b+" ");

}

n();

byte[] b81 = new byte[10];

(b81);

n("UTF-81:");

for(byte b : b81)

{

}

n();

byte[] b82 = new byte[10];

(b82);

n("UTF-82:");

for(byte b : b82)

{

}

n();

//Ubig

byte[] bbig = new byte[10];

(bbig);

n("Ubig:");

for(byte b:bbig)

{

}

n();

//Ulit

byte[] blit = new byte[10];

(blit);

n("Ulit:");

for(byte b:blit)

{

}

n();

(b +" ");

(b +" ");

(b+" ");

(b+" ");

}

}

//Ansi

byte[] bansi = new byte[10];

(bansi);

n("ANSI:");

for(byte b:bansi)

{

}

n();

(b +" ");


本文标签: 编码 字节 格式 保存 前缀