使用java编程恢复乱码
使用java编程恢复乱码
在Java语言String类中:
- public byte[] getBytes(String charsetName):将一个字符串按指定charset编码为二进制形式的数组
- public String(byte bytes[], String charsetName):将指定的 byte 数组按指定的 charset 解码为一个字符串
对于简单乱码可以使用这两个方法进行暴力破解
样本代码如下:
import java.util.Arrays;
import java.util.Scanner;
import java.util.Stack;public class Main {public static void main(String[] args) throws Exception {recover("ǿ׳µÄÈËÉúÎÞÐè½âÊÍ");}public static void recover(String str) throws Exception{String[] charsets = new String[]{"windows-1252","GB18030","Big5","UTF-8"};for(int i=0;i<charsets.length;i++){for(int j=0;j<charsets.length;j++){if(i!=j){String s = new String(str.getBytes(charsets[i]),charsets[j]);System.out.println(s+" "+"正确编码: "+charsets[j]+", 错误解码: "+charsets[i]);System.out.println();}}}}
}
运行程序,在输出结果中寻找可能的答案
使用java编程恢复乱码相关推荐
- Java编程的逻辑 (29) - 剖析String
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- Java编程的逻辑 (56) - 文件概述
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- Java编程的逻辑 (62) - 神奇的序列化
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- 对象导论---JAVA编程思想
第一章 对象导论 序言 "我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来-除非赞成这个协定中规定 ...
- 阿里巴巴对Java编程【注释规约】的规约
转载自 阿里巴巴对Java编程[注释规约]的规约 注释规约 1. [强制]类.类属性.类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式. 说明:在 ID ...
- JAVA 代码交互率低的原因分析,深入剖析Java编程中的中文问题及建议最优解决方法...
说明:本文为作者原创,作者联系地址为: josserchai@yahoo.com .由于 Java 编程中的中文 问题是一个老生常谈的问题,在阅读了许多关于 Java 中文问题解决方法之后,结合作者的 ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象 2.程序就是对象的集合 3.每个对象都是由其它对象所 ...
- java编程思想2_《JAVA编程思想2》笔记
第 1 章 对象入门 Smalltalk 的五大基本特征 (1) 所有东西都是对象 (2) 每个程序都是一大堆对象的组合:通过消息的传递一个对象可告诉另一个对象该做什么 (3) 每个对象都有自己的存储 ...
- Java 编程要点之并发(Concurrency)详解
本文同步至 http://www.waylau.com/essential-java-concurrency 计算机用户想当然地认为他们的系统在一个时间可以做多件事.他们认为,他们可以工作在一个字处理 ...
最新文章
- 如何在框架外部自定义C++ OP
- vi/vim 删除:一行, 一个字符, 单词, 每行第一个字符 命令
- ERP项目成败的三个因素
- mysql校对规则设计编码命令
- C#多维数组与嵌套数组
- Anaconda简介及其下载 安装 配置 使用 卸载
- 分享几种绕过防注入的方法
- 中国数字压力计市场趋势报告、技术动态创新及市场预测
- 图解大数据 | 基于Spark RDD的大数据处理分析
- 达尔优EM915镜面板游戏鼠标拆机教程
- 概率论的学习和整理8: 几何分布
- 3DMAX文件导入到OSG中。
- 服务器怎么买,腾讯云服务器购买三种流程介绍
- 【深度学习】实战之MNIST
- CSS3 实现圆圈动态发光特效动画的制作
- 计算平均值和标准方差。
- 大气快速辐射传输模型RTTOV12.2安装教程及心得体会
- 团队管理中,如何提升团队执行力?
- 一、node.js的理解?优缺点?应用场景?
- 厦门感芯科技MC3172(1):介绍和环境搭建