Ⅰ 怎麼查看某個文件的編碼方式
查看TXT文件編碼方式:
首先,不同編碼的文本,是根據文本的前兩個位元組來定義其編碼格專式的。定義如下:
ANSI:屬無格式定義;
Unicode: 前兩個位元組為FFFE;
Unicode big endian:前兩位元組為FEFF;
UTF-8: 前兩位元組為EFBB;
這樣通過前面兩個位元組就可以判定出文件的具體格式了。
Ⅱ 編程疑問:你要讀取一個文本文件,但是怎麼知道它是那種編碼的
其實沒有哪個可以100%確定編碼的,包括JAVA的類也一樣。
TEXT的存儲不標識編碼,那版么,如何確定呢,其權實一個GBK或者UNICODE的文本文件,就認為它是ANSI也是有道理的:裡面放著不可列印字元 這個也行啊。
所謂的識別,其實就是識別可列印字元。
ANSI 是1BYTE存儲,每個裡面可列印字元都在128以內,如果你讀取文本的前四個BYTE都是可列印字元,那麼就是ANSI了。
同樣,GBK是3位存儲的,同樣有著可列印特徵,UNICODE是4位,也有著不同於GBK的特徵碼,注意這些其實就是可列印字元范圍,3BYTE可以存儲160w種符號,其中可列印符號的編碼是有規則的,UNICODE同理。
也就是說,你讀取文本的前4位(讀取12位判定會更好),根據不同特徵(每個BYTE的范圍)就可以基本判定了。
具體的特徵范圍有完整的規范,可以在網上查到。
Ⅲ 如何判斷一個文本文件內容的編碼格式 UTF-8
文件的字元集在Windows下有兩種,一種是ANSI,一種Unicode。
對於Unicode,Windows支持了它的三種編碼方式,一種是小尾編碼(Unicode),一種是大尾編碼(BigEndianUnicode),一種是UTF-8編碼。
我們可以從文件的頭部來區分一個文件是屬於哪種編碼。當頭部開始的兩個位元組為 FF FE時,是Unicode的小尾編碼;當頭部的兩個位元組為FE
FF時,是Unicode的大尾編碼;當頭部兩個位元組為EF BB時,是Unicode的UTF-8編碼;當它不為這些時,則是ANSI編碼。
按照如上所說,我們可以通過讀取文件頭的兩個位元組來判斷文件的編碼格式,代碼如下(C#代碼):
程序中System.Text.Encoding.Default是指操作系統的當前 ANSI 代碼頁的編碼。
1: public System.Text.Encoding GetFileEncodeType(string filename)
2: {
3: System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read);
4: System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
5: Byte[] buffer = br.ReadBytes(2);
6: if(buffer[0]>=0xEF)
7: {
8: if(buffer[0]==0xEF && buffer[1]==0xBB)
9: {
10: return System.Text.Encoding.UTF8;
11: }
12: else if(buffer[0]==0xFE && buffer[1]==0xFF)
13: {
14: return System.Text.Encoding.BigEndianUnicode;
15: }
16: else if(buffer[0]==0xFF && buffer[1]==0xFE)
17: {
18: return System.Text.Encoding.Unicode;
19: }
20: else
21: {
22: return System.Text.Encoding.Default;
23: }
24: }
25: else
26: {
27: return System.Text.Encoding.Default;
28: }
29: }
Ⅳ 如何檢查TXT文本是不是ANSI編碼格式的
1、首先打開該TXT文本
(4)如何知道一個文件的編碼格式擴展閱讀:
常見的編碼格式有ASCII、ANSI、GBK、GB2312、UTF-8、GB18030和UNICODE等。對應的編碼規則有單位元組字元編碼、ANSI編碼和UNICODE編碼等。
ANSI編碼
把 UNICODE 字元串通過 ANSI 編碼轉化為「位元組串」時,根據各自編碼的規定,一個 UNICODE 字元可能轉化成一個位元組或多個位元組。
反之,將位元組串轉化成字元串時,也可能多個位元組轉化成一個字元。比如,[0xD6, 0xD0] 這兩個位元組,通過 GB2312 轉化為字元串時,將得到 [0x4E2D] 一個字元,即 '中' 字。
ANSI 編碼的特點:
1、這些「ANSI 編碼標准」都只能處理各自語言范圍之內的 UNICODE 字元。
2、「UNICODE 字元」與「轉換出來的位元組」之間的關系是人為規定的。
Ⅳ 如何查看文件編碼格式
1、文件編碼格式一般指文件內文本字元採用什麼樣的字元集,
通常簡體中文windows採用回GB2312,極個別文本答字元採用utf-8字元集,
2、有時文件編碼格式也通常指代文件的類型,windows對程序或數據文件的識別,一般通過文件擴展名來完成,也就是通過擴展名來識別一個文件是數據文件、可執行文件、文本文件、音樂文件~~
Ⅵ 怎麼查看一個視頻文件的編碼方式
視頻文件的編碼格式可以通過格式工廠來查看,具體的操作步驟如下:
1、首先進入到格式工廠軟體的首頁,這里以AVI視頻文件為例,然後點擊【AVI】。
2、在彈出來的頁面接著點擊【添加文件】
3、選擇你要查看視頻的文件,然後點擊【打碧鎮開】。
4、接著點擊【多媒體文件信息】悔纖粗。
5、最後就可以看到視頻文件的編碼方豎伍式了。
Ⅶ 如何確定文件編碼格式的方法
如何確定文件編碼格式的方法??
當我們用System.IO.StreamReader讀取包含漢字的txt文件時,經常會讀出亂碼(StreamWriater寫文本文件也有類似的問題),原因很簡單,就是文件的編碼(encoding)和StreamReader/Writer的encoding不對應。
為了解決這個問題,我寫了一個類,來取得一個文本文件的encoding,這樣我們就可以創建對應的StreamReader和StreamWriter來讀寫,保證不會出現亂碼現象。其實原理很簡單,文本編輯器(比如XP自帶的記事本)在生成文本文件時,如果編碼格式和系統默認的編碼(中文系統下默認為GB2312)不一致時,會在txt文件開頭部分添加特定的「編碼位元組序標識(Encoding Bit Order Madk,簡寫為BOM)」,類似PE格式的"MZ"文件頭。這樣它在讀取時就可以根據這個BOM來確定該文本文件生成時所使用的Encoding。這個BOM我們用記事本等程序打開默認是看不到的,但是用stream按位元組讀取時是可以讀到的。我的這個TxtFileEncoding類就是根據這個BOM「文件頭」來確定txt文件生成時用到的編碼的。
//作者:袁曉輝
//2005-8-8
// // // // // //
using System;
using System.Text;
using System.IO;
namespace Farproc.Text
{
/// <summary>
/// 用於取得一個文本文件的編碼方式(Encoding)。
/// </summary>
public class TxtFileEncoding
{
public TxtFileEncoding()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
/// <summary>
/// 取得一個文本文件的編碼方式。如果無法在文件頭部找到有效的前導符,Encoding.Default將被返回。
/// </summary>
/// <param name="fileName">文件名。</param>
/// <returns></returns>
public static Encoding GetEncoding(string fileName)
{
return GetEncoding(fileName, Encoding.Default);
}
/// <summary>
/// 取得一個文本文件流的編碼方式。
/// </summary>
/// <param name="stream">文本文件流。</param>
/// <returns></returns>
public static Encoding GetEncoding(FileStream stream)
{
return GetEncoding(stream, Encoding.Default);
}
?// <summary>
/// 取得一個文本文件的編碼方式。
/// </summary>
/// <param name="fileName">文件名。</param>
/// <param name="defaultEncoding">默認編碼方式。當該方法無法從文件的頭部取得有效的前導符時,將返回該編碼方式。</param>
/// <returns></returns>
public static Encoding GetEncoding(string fileName, Encoding defaultEncoding)
{
FileStream fs = new FileStream(fileName, FileMode.Open);
Encoding targetEncoding = GetEncoding(fs, defaultEncoding);
fs.Close();
return targetEncoding;
}
/// <summary>
/// 取得一個文本文件流的編碼方式。
/// </summary>
/// <param name="stream">文本文件流。</param>
/// <param name="defaultEncoding">默認編碼方式。當該方法無法從文件的頭部取得有效的前導符時,將返回該編碼方式。</param>
/// <returns></returns>
public static Encoding GetEncoding(FileStream stream, Encoding defaultEncoding)
{
Encoding targetEncoding = defaultEncoding;
if(stream != null && stream.Length >= 2)
{
//保存文件流的前4個位元組
byte byte1 = 0;
byte byte2 = 0;
byte byte3 = 0;
byte byte4 = 0;
//保存當前Seek位置
long origPos = stream.Seek(0, SeekOrigin.Begin);
stream.Seek(0, SeekOrigin.Begin);
int nByte = stream.ReadByte();
byte1 = Convert.ToByte(nByte);
byte2 = Convert.ToByte(stream.ReadByte());
if(stream.Length >= 3)
{
byte3 = Convert.ToByte(stream.ReadByte());
}
if(stream.Length >= 4)
{
byte4 = Convert.ToByte(stream.ReadByte());
}
//根據文件流的前4個位元組判斷Encoding
//Unicode {0xFF, 0xFE};
//BE-Unicode {0xFE, 0xFF};
//UTF8 = {0xEF, 0xBB, 0xBF};
if(byte1 == 0xFE && byte2 == 0xFF)//UnicodeBe
{
targetEncoding = Encoding.BigEndianUnicode;
}
if(byte1 == 0xFF && byte2 == 0xFE && byte3 != 0xFF)//Unicode
{
targetEncoding = Encoding.Unicode;
}
if(byte1 == 0xEF && byte2 == 0xBB && byte3 == 0xBF)//UTF8
{
targetEncoding = Encoding.UTF8;
}
//恢復Seek位置
stream.Seek(origPos, SeekOrigin.Begin);
}
return targetEncoding;
}
}
}
由於在GB2312和UTF7編碼都沒有BOM,所以需要指定一個默認的Encoding,在找不到合法的BOM時,將返回這個Encoding。有誰知道如何區分GB2312和UTF7編碼txt文件的方法,也請告訴我。
由於只是static方法,所以不用new,直接通過類名調用方法,使用起來也很簡單。
using System;
using Farproc.Text;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要說明。
/// </summary>
class Class1
{
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此處添加代碼以啟動應用程序
//
string fileName = @"e:\a.txt";
//生成一個big endian Unicode編碼格式的文本文件
StreamWriter sw = new StreamWriter(fileName, false, Encoding.BigEndianUnicode);//你可以試試其他編碼,比如Encoding.GetEncoding("GB2312")或UTF8
sw.Write("這是一個String");
sw.Close();
//讀取
Encoding fileEncoding = TxtFileEncoding.GetEncoding(fileName, Encoding.GetEncoding("GB2312"));//取得這txt文件的編碼
Console.WriteLine("這個文本文件的編碼為:" + fileEncoding.EncodingName);
StreamReader sr = new StreamReader(fileName, fileEncoding);//用該編碼創建StreamReader
//用下面的方法雖然可以讓系統自動判斷文本文件的編碼格式,但是我們無法取得該文本文件的編碼
//sr.CurrentEncoding永遠為 Unicode(UTF-8)
//StreamReader sr = new StreamReader(fileName, true);
//Console.WriteLine("這個文本文件的編碼為:" + sr.CurrentEncoding.EncodingName);
Console.WriteLine("這個文本文件的內容為:" + sr.ReadToEnd());
sr.Close();
Console.ReadLine();
}
}
}
.NET下的string永遠是Unicode的,所以只能判斷txt文件的Encoding。對於byte[],只有自己知道它的Encoding才能轉換為string 轉換為其他編碼的byte[],一個例外是把整個txt文件通過stream讀入byte[]後也可以根據它的前幾個位元組判斷Encoding,對於片斷,我們就無能為力了:)
Ⅷ 如何查看文件編碼格式
UltraEdit如何查看文件編碼格式
另存為時就可以看到了
怎樣查看txt文件編碼方式
文件-另存 就能看到了
notepad++如何查看文件是什麼編碼格式
下載一個記事本增強軟體notepad2
用它來打開文本,在「文件」菜單中有子級菜單「編碼」,可以非常方便地查看到文本編碼類型,支持的編碼類型有:
ANSI
Unicode
Unicode Big Endian
UTF-8
如何查看文件的編碼方式
文件-另存 就能看到了
如何查看文件編碼格式及轉換文件編碼?
常常在linux中操作windows下的文件時,會遇到亂碼的情形。常見的比如在Visual Studio 中寫的C\C++程序需要放到Linux主機上編譯,而程序的中文注釋則顯示為亂碼,比較嚴重的是由於編碼原因,linux上的編譯器報錯。用VIM查看文件編碼在Vim 中可以直接查看文件編碼:set fileencoding即可顯示文件編碼格式。如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那麼你可以在~/.vimrc 文件中添加族虛以下內容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936這樣,就可以讓vim自動識別文件編碼(可以自動識別UTF-8或者GBK編碼的文件),其實就是依照 fileencodings提供的編碼列表嘗試,帶睜如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開。用ICONV文件編碼轉換我們利用iconv工具對文件的編碼進行轉換。iconv 轉換,iconv的命令格式如下:iconv -f encoding -t encoding inputfile比如將一個GBK 編碼的文件轉換成UTF-8編碼iconv -f GBK -t UTF-8 file1 -o file2其中的參數的意義表示-f From 某個編碼-o 輸出到文件
如何查看網頁某段代碼的編碼方式
用 FireFOX 的FireBUG工具,一目瞭然的可以看到。
或者郵件查看源代碼都可以
如何查看txt文件編碼方式
記事本打開文檔→文件菜單→另存為→編碼方式
格式兆行燃工廠怎麼查看源視頻文件編碼?
第一個問題,點擊---高級---多媒體文件信息---瀏覽你的視頻文件揣即可查閱有關該視頻的全部信息。
第二個問題,你選擇高質量和大小,點擊旁邊那個輸出配置可以更改編碼方式的,編碼方式不是預設值,你選擇哪種編碼格式,它就轉成該格式。其他幾個預設項則是維持源文件的參數不變。
其實用暴風影音來查看源文件的編碼信息也很方便的,而且是全中文的。操作也很簡單,用它打開視頻文件,右鍵選擇屬性即可查看相關信息了。
如何查看文件編碼格式 linux
1、file my.sh
my.sh: ASCII text
2、file z.sql
z.sql: UTF-8 Unicode C program text, with very long lines
Ⅸ 怎麼判斷一個文件是什麼編碼格式
1、文件編碼格式一般指文件內文本字元採用什麼樣的字元集, 通常簡體中文windows採用GB2312,極個別文本字元採用utf-8字元集, 2、有時文件編碼格式也通常指代文件的類型,windows對程序或數據文件的識別,一般通過文件擴展名來完成,也就是通過.
Ⅹ 怎麼查看某個文件的編碼方式
打開文檔,點另存為,
最下面,編碼欄默認顯示的即是當前文件的編碼格式