从代码看,是基于频率分析,还是比较准确的。
测试代码如下:
- import java.io.File;
- import java.io.UnsupportedEncodingException;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- public class Test {
- public static void main(String[] args) throws UnsupportedEncodingException, MalformedURLException {
- BytesEncodingDetect s = new BytesEncodingDetect();
- String str = "??¤¤¤å";
- System.out.println(BytesEncodingDetect.nicename[s.detectEncoding(str.getBytes("ISO-8859-1"))]);
- System.out.println(new String(str.getBytes("ISO-8859-1"), "BIG5"));
- System.out.println(BytesEncodingDetect.nicename[s.detectEncoding("Java世界".getBytes())]);
- System.out.println(BytesEncodingDetect.nicename[s.detectEncoding(new URL("http://www.iteye.com"))]);
- System.out.println(BytesEncodingDetect.nicename[s.detectEncoding(new File("src/Test.java"))]);
- }
- }
输出结果
- Big5
- ??中文
- GB-2312
- UTF-8
- UTF-8
BytesEncodingDetect.java (153.24 K) 类的源代码,太大了,各位自己下载附件吧
原文:http://www.java2000.net/p1679
分享到:
相关推荐
如文章中所示,我们可以通过以下一行代码实现字符串到字节数组的转换: ```csharp using System.Text; public static byte[] ConvertStringToByteArray(string stringToConvert) { return (new UnicodeEncoding()...
在Golang中,字符串是一种非常基础且常用的数据类型,它实际上是字符组成的只读字节数组。字符串在内存中以连续的方式存储,每个字符对应一个字节,这与C语言中的char数组类似。然而,与C不同的是,Golang中的字符串...
这段代码实现了将一个字符串转换为指定长度的字符数组。其中`in_str`是待转换的字符串,而`in_len`是目标字符数组的长度。通过调用`ToCharArray()`方法获取到一个字符数组,然后使用`CopyTo()`方法复制到一个新的...
你可以使用`getEncoder().encodeToString()`方法将字节数组转换为Base64编码的字符串。 3. **将Base64字符串解码回字节数组**: 如果需要将Base64字符串还原为原始的字节数组,可以使用`getDecoder().decode()`...
下面是一段简单的示例代码,展示了如何在Java中实现字节流与图片的转换: ```java import java.io.*; public class ImageStreamConverter { public static void main(String[] args) { String sourceImage = ...
例如,对于16位的音频,每个采样点占用2个字节,一个44100Hz的1秒音频将需要44100 * 2个字节的数组。 8. **数据转换**:音频数据可能以小端或大端字节序存储,需要根据系统的字节序进行必要的字节交换,如`ntohs()`...
当数据从一种编码环境转移到另一种编码环境时,如果接收方不知道原始数据的编码方式,就会出现乱码。正确的做法是在解码前先将数据转换为其原始编码,再进行解码。这通常涉及到两个步骤: - **编码(Encoding)**:...
这段后台代码中,我们首先获取到图片的字节数组`imgbyte`,然后使用`BASE64Encoder`将其转换为Base64字符串`str64`。`ModelAndView`对象用于在前后端之间传递数据,我们设置了视图名称为`showimg`,并添加了一个名为...
此行代码中,`GetBytes()`方法将输入的字符串转换为指定编码的字节数组,这是进行编码转换的第一步。 #### 3. 编码转换 ```csharp byte[] temp1 = Encoding.Convert(utf8, gb2312, temp); ``` `Encoding.Convert...
在.NET中,`System.Text.Encoding` 类提供了多种编码方式,用于将字符串与字节数组之间进行转换。 1. **Encoding.ASCII**: 这是最基础的编码方式,用于ASCII字符集,它只包含英文字符,每个字符占一个字节。 2. **...
`Hex.encodeHex()`方法是这个类的核心,它接受一个字节数组作为输入,并返回一个包含相应十六进制字符的字符数组。该方法有两种形式,一种默认使用小写字母表示十六进制数,另一种允许用户选择大小写。其内部实现...
5. **Disasm**:这个词可能指的是一个更完整的字节集反汇编工具或库,它可以提供更高级的功能,如自动识别代码段、显示指令的上下文信息等。 在学习和使用这些功能时,你需要理解易语言的基本语法、数据类型以及...
这段代码首先检查了输入参数的有效性,然后尝试转换字符串为字节数组,并通过循环找到目标字节数对应的位置。由于UTF-8编码的特性,需要额外处理多字节字符,以确保截取的字符串是完整可读的。最后,它使用找到的...
这段代码首先创建了一个汉字数组,然后将其转换为拼音数组,并按照拼音进行排序。 5. 结果处理:排序完成后,根据需求,你可以选择保留拼音数组,或者将排序后的拼音映射回原汉字数组。如果需要恢复为汉字,可以...
在C#编程语言中,字符串(string)与字节数组(byte[])之间的转换是常见的操作,特别是在处理网络通信、文件读写或数据编码解码等场景。本篇文章将详细探讨C#中如何实现这两种类型之间的转换,并提供实用的代码示例...
这段代码的核心逻辑在于,它首先将输入的字符串转换为字节数组。然后,遍历这个数组,每遇到一个字符的起始字节(即数组索引为偶数的位置),字节数`n`增加。如果当前字节是字符的第二字节且其值大于0,这表明这是一...
在计算机科学领域,字符编码是将文字映射到二进制数据的一种方式。不同的字符编码方案适用于不同的应用场景。本篇文章主要探讨的是多字节(MBCS)编码与UTF-8、Unicode编码之间的转换方法,并深入分析了给定代码片段...
`zipFile`方法接收源文件路径和目标压缩文件路径作为参数,读取源文件内容并进行哈夫曼编码压缩,然后将压缩后的字节数组以及对应的哈夫曼编码表写入目标文件。而`unZipFile`方法则负责反向操作,从压缩文件中读取...
以下是一个简单的C#代码示例,展示了如何使用ZipArchive创建zip文件: ```csharp using System.IO; using System.IO.Compression; public static void CreateZip(string sourceDirectory, string zipFilePath) { ...