這是一個可以從亂碼文本中得到正確的原始文本的程序,其基于的原理在于錯誤的編碼往往導致位補充,因此正確的文本使用的字節數應該是最少的(之一)。
import java.io.UnsupportedEncodingException;
/*
* 這是一個可以從亂碼文本中得到正確的原始文本的程序,其基于的原理在于錯誤的編碼往往導致位補充,
* 因此正確的文本使用的字節數應該是最少的(之一)。
*
* 如果你在測試此程序時,無法得到正確的文本,可能的原因如下:
* 1.此程序僅能從一次錯誤編碼文本中得到原始文本,無法從多次錯誤編碼中恢復文本。
* 2.有時錯誤的編碼導致一些字符變為不可見字符,你可能沒有把所有的亂碼文本拷貝過來,從而導致位缺失。這種情況下無法恢復文本。
* 3.原始文本是一個比較大的字符集,錯誤的編碼使用小的字符集,那些在小字符集之外的字符信息丟失,無法從中解析正確的文本。
* 4.恭喜你中獎了,有一些字符使用任何一種編碼沒有什么不同或者錯誤的編碼沒有導致位補充,那么我也無能為力了。(這種情況確實很少見)
*
* 注:程序中的亂碼文本是將百度首頁(utf-8)調整為gbk(顯然會亂碼)得到的,有興趣的同志可以使用其他的亂碼測試。有問題歡迎回復。
*/
public class CharSetTest {
public static final String[] CHARSET_NAMES=new String[]{"ISO8859-1","GBK","UTF-8"};
public static void main(String[] args) throws UnsupportedEncodingException {
//亂碼字符串
String str="寰亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb