资源简介
基于C#语言,可自行改为c即可用于c++
一个判断字符串编码类型的类,支持多种常见编码
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
namespace MyEncoding
{
#region Class IdentifyEncoding.....
///
/// 检测字符编码的类
///
///
///
///
///
/// /// IdentifyEncoding 用来检测 字节数组的编码.
/// Create By lion
/// 2005-02-21 22:00
/// Support .Net framework v1.1.4322
/// WebSite:www.lionsky.net(lion-a AT sohu.com)
/// ]]>
///
public class IdentifyEncoding
{
#region Fields.....
// Frequency tables to hold the GB Big5 and EUC-TW character
// frequencies
internal static int[][] GBFreq = new int[94][];
internal static int[][] GBKFreq = new int[126][];
internal static int[][] Big5Freq = new int[94][];
internal static int[][] EUC_TWFreq = new int[94][];
internal static string[] nicename =
new string[] { “GB2312“ “GBK“ “HZ“ “Big5“ “CNS 11643“ “ISO 2022CN“ “UTF-8“ “Unicode“ “ASCII“ “OTHER“ };
#endregion
#region Methods.....
///
/// 初始化 的实例
///
public IdentifyEncoding()
{
Initialize_Frequencies();
}
#region GetEncodingName.....
///
/// 从指定的 中判断编码类型
///
/// 要判断的
/// 返回编码类型(“GB2312“ “GBK“ “HZ“ “Big5“ “CNS 11643“ “ISO 2022CN“ “UTF-8“ “Unicode“ “ASCII“ “OTHER“)
///
/// 以下示例演示了如何调用 方法:
///
/// IdentifyEncoding ide = new IdentifyEncoding();
/// Response.Write(ide.GetEncodingName(new Uri(“http://china5.nikkeibp.co.jp/china/news/com/200307/pr_com200307170131.html“)));
///
///
public virtual string GetEncodingName(System.Uri testurl)
{
sbyte[] rawtext = new sbyte[1024];
int bytesread = 0 byteoffset = 0;
System.IO.Stream chinesestream;
try
{
chinesestream = System.Net.WebRequest.Create(testurl.AbsoluteUri).GetResponse().GetResponseStream();
while ((bytesread = ReadInput(chinesestream ref rawtext byteoffset rawtext.Length - byteoffset)) > 0)
{
byteoffset += bytesread;
}
chinesestream.Close();
}
catch
{
throw;
}
return GetEncodingName(rawtext);
}
///
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 100004 2010-11-03 13:15 IdentifyEncoding.cs
----------- --------- ---------- ----- ----
100004 1
相关资源
- C++判断点是否在多边形内
- 信息论编码——信道编码实验
- 赫夫曼树的构建及赫夫曼编码C语言源
- 哈夫曼树的建立(Huffman Tree C语言实现
- BCH3121编码译码解码程序源代码——
- rs编解码.c rs纠错码
- 基于C++的lzw的编码的实现
- VC++获取系统信息/获取OS/获取MAC/获取
- C++实现哈夫曼树及哈夫曼编码.rar
- 判断一个代数系统的封闭性、结合律
- n元哈夫曼编码
- 基于哈夫曼编码的文本文件压缩与解
- 74循环码编码、最小广义距离译码
- vc++判断显示器是否支持多点触摸
- 编译原理C++实现判断LL1文法
- 赫夫曼树哈夫曼树 算法 编码 源代
- 对输入的表达式判断其是否是合法的
- bch127编码
- 循环码编码器
- fec向前纠错编码rs编码仿真实现
- 基于C++和MFC的哈夫曼编码压缩软件的
- 哈弗曼编码的实验报告
- 判断两个数组的关系
- 实现对任意格式文件压缩 C++
- C++实现对文本(单纯文字,不是文本
- 随机线性网络编码和确定线性网络编
- Huffman 编码
- 霍夫曼编码C++实现
- rs编码c语言实现
- 简单实现的LZ78编码程序
评论
共有 条评论