java相应代码转码 Java 转码

java文件读取内容转码

读取的文件流如果是read(读取字节流的时候,中文就会是乱码)方法,所以现在全都是听过readline方式进行的读取。举例:

创新互联-专业网站定制、快速模板网站建设、高性价比金水网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式金水网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖金水地区。费用合理售后完善,10多年实体公司更值得信赖。

可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。

BufferedReader bre = null;

try {

String file = "D:/test/test.txt";

bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流

while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环

{

System.out.println(str);//原样输出读到的内容

};

bre.close(),//关闭流,否则bre流会一直存在,直到程序运行结束。

除此之外,java文件读取的时候有中文就很出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。

如:String str = new String(str.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。

备注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。

Java怎么将字符串转换为GB2312原编码

@Test

public void test333(){

String a="青白";

try {

byte[] b=a.getBytes("GB2312");

System.out.println(bytesToHexFun1(b));

 

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

//将byte数组转成16进制字符串

 public static String bytesToHexFun1(byte[] bytes) {

char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', 

'6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

// 一个byte为8位,可用两个十六进制位标识

char[] buf = new char[bytes.length * 2];

int a = 0;

int index = 0;

for(byte b : bytes) { // 使用除与取余进行转换

if(b  0) {

a = 256 + b;

} else {

a = b;

}

buf[index++] = HEX_CHAR[a / 16];

buf[index++] = HEX_CHAR[a % 16];

}

return new String(buf);

}

中心思想就是先转成GB2312的byte数组,再转成16进制就可以了。

java怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串

通过JDK1.6知道String类中getBytes(”编码“)方法可以讲一个数用指定的编码转成一个字节数组,String中通过指定的 charset解码指定的 byte 数组,构造一个新的 String。代码如下:

try{

String s = "java学习";

System.out.println(s);

String result = new String(s.getBytes("GB2312"),"iso-8859-1");

System.out.println(s);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

扩展资料:

getBytes() 方法有两种形式:

1、getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

2、getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

参考资料:

百度百科-getBytes()

JAVA--字符串转码

String name = user.getName();

try {

name = URLEncoder.encode(name, "iso-8859-1");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

user.setName(name);

java转码问题

呵呵,看我这个,是本人原创。不管你是任何编码都可以解决,唯一的缺点是效率稍微低了点(不过比楼上那个要快)。

思路:

1.首先在jsp页面即客户端用JavaScript将汉字处理成asc码

2.服务端再将asc码还原成原有的字符

JavaScript转换代码:

var s=document.getElementById("text").value;

var t="";

//将汉字转换成ASCII码,然后在服务器端里再根据ASCII码转换成相应的字符

for(i=0;is.length;i++){

t+=s.charCodeAt(i)+" ";//将字符转换成相应的ASCII码并用空格隔开;

}

java服务端还原:

String param=request.getParameter("param");

StringBuffer buf=new StringBuffer("");

String[] ss = param.split(" ");

for (int i = 0; i ss.length; i++) {

char c = (char) Integer.parseInt(ss[i].trim());

buf.append(c);

}

System.out.println("还原后的字符是:"+buf.toString());

----------------------

如果你再把转换后的asc码再加个数字或者减个数字就是一个简单的加密,O(∩_∩)O~,希望对你有所帮助


分享标题:java相应代码转码 Java 转码
转载源于:http://csdahua.cn/article/hpsdhh.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流