import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class TestCharset {
public static void main(String[] args) throws IOException {
try {
new TestCharset().execute();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void execute() throws IOException {
File f=new File("c:\\t2.txt");
BufferedReader br=new BufferedReader(new FileReader(f));
String s=br.readLine();
while(s!=null){
byte[] bytesISO8859 = null;
byte[] bytesGBK = null;
try {
// bytesISO8859 = s.getBytes("iso-8859-1");
bytesGBK = s.getBytes("UTF-8");
} catch (java.io.UnsupportedEncodingException e) {
e.printStackTrace();
}
// System.out.println("-------------- \n 8859 bytes:");
// System.out.println("bytes is: " + arrayToString(bytesISO8859));
// System.out.println("hex format is:" + encodeHex(bytesISO8859));
// System.out.println();
// System.out.println("-------------- \n UTF-8 bytes:");
// System.out.println("bytes is: " + arrayToString(bytesGBK));
// System.out.println("hex format is:" + encodeHex(bytesGBK));
System.out.println(encodeHex(bytesGBK));
s=br.readLine();
}
}
public static final String encodeHex(byte[] bytes) {
StringBuffer buff = new StringBuffer(bytes.length * 2);
String b;
for (int i = 0; i < bytes.length; i++) {
b = Integer.toHexString(bytes[i]);
// byte是两个字节的,
// 而上面的Integer.toHexString会把字节扩展为4个字节
buff.append("%");
buff.append(b.length() > 2 ? b.substring(6, 8) : b);
}
return buff.toString();
}
public static final String arrayToString(byte[] bytes) {
StringBuffer buff = new StringBuffer();
for (int i = 0; i < bytes.length; i++) {
buff.append(bytes[i] + " ");
}
return buff.toString();
}
}
运行一下就明白了..
分享到:
相关推荐
ASCII 和 UTF-8 是两种广泛使用的字符编码标准,它们在计算机科学中扮演着重要的角色,尤其是在文本处理和数据传输方面。这两个编码系统都是为了将人类可读的字符转化为计算机可以理解的形式,但它们的设计和使用...
而UTF-8是一种变长的Unicode编码,它可以表示世界上几乎所有的字符,包括汉字和其他非英文字符,它使用1到4个字节来编码一个字符。 在Java Web开发中,UTF-8转ASCII的场景通常出现在需要与只支持ASCII编码的系统或...
很多人喜欢用CString 或std:string,但是他们的缺点是不能完成汉字各种类型之间的转换,提供三种类库ascString,ucsString,utfString以及工具utfCount,utf8_ucs2_t,tcf8_ucs4_t类库,用于各种字符串之间的直接转换`...
标题 "URL GB2312 UTF-8编解码.zip" 涉及的主要知识点是字符编码和URL编码,特别是GB2312与UTF-8这两种编码方式在URL中的应用。URL(Uniform Resource Locator)是互联网上的资源定位符,为了在网络上传输,URL中的...
- UTF-8:Unicode的一种变长编码方式,兼容ASCII,广泛用于网络和文本文件,从1到4个字节不等。 在Qt中,转换这些编码通常涉及到以下几个步骤: 1. **ASCII到其他编码**:由于ASCII是包含在UTF-8中的,所以转换...
1. `ascString`:这个类代表ASCII字符串,它是基于8位的ASCII编码,涵盖了英文和其他一些基本的非英文字符。在处理纯英文或需要与ASCII兼容的场景下非常有用。 2. `ucsString`:这是用于表示UCS-2编码的字符串类。...
在给定的标题“asc码,unicode码,UTF8,utf7码转换工具”中,涉及到了几种常见的字符编码格式:ASCII、Unicode、UTF-8以及UTF-7。这些编码方式在不同场景下各有优势,下面将详细阐述它们的概念、特点以及相互之间的...
GB2312是中国大陆早期的简体中文字符集,包含了6763个常用汉字,而UTF-8是一种更广泛使用的多字节编码,能够表示世界上几乎所有的字符,包括汉字。 在JavaScript中,处理URL编码通常使用`encodeURIComponent()`函数...
asc-setup-pro系统优化asc-setup-pro系统优化asc-setup-pro系统优化asc-setup-pro系统优化asc-setup-pro系统优化asc-setup-pro系统优化asc-setup-pro系统优化
在中文环境下,常用的Unicode编码方案有GB2312、GBK和UTF-8等,其中UTF-8是目前最广泛使用的编码格式,它是一种变长编码,可以高效地存储英文和中文混合的文本。 中文与ASC码、Unicode码之间的转换通常需要特定的...
标题“1734-485ASC通讯”指向了AB(艾伦·布拉德利)公司生产的1734系列模块中的特定型号——1734-485ASC模块。这一模块专为工业通信设计,主要应用于工业自动化环境中。而描述中提到的该模块能够与各种仪表、扫描枪...
这个库包括ascString、ucsString和utfString类,以及用于各种字符串类型之间转换的utfCount、utf8_ucs2_t和utf8_ucs4_t工具。这些工具和类库使得在处理中文字符串时更加简单,包括字符类型之间的转换、操作和统计等...
标题“asc-setup-v6”可能指的是一个软件安装程序,它可能是ASC(Advanced SystemCare)的第六个主要版本的安装包。ASC是一款广受欢迎的系统优化和安全工具,由IObit公司开发。这款软件的主要功能包括系统清理、性能...
支持的字符编码: ASCII,UTF-8,UTF-16BE,UTF-16LE,UTF-32BE,UTF-32LE,EUC-JP,EUC-TW,EUC-KR,EUC-CN,Shift_JIS,Big5,GB18030,KOI8-R,CP1251, ISO-8859-1,ISO-8859-2,ISO-8859-3,ISO-8859-4,ISO-...
【标题】"ASC旁瓣相消----MSE准则.m"是一个MATLAB脚本,主要涉及的是信号处理中的自适应滤波技术,特别是针对旁瓣相消(Adaptive Side-Lobe Canceller, ASC)的应用,以及在优化过程中采用了均方误差(Mean Square ...
"Dahua大华DH-ASC1201B-D门禁控制器(单门双向B款)使用说明书.pdf" 资源类别:用户手册 资源描述:本资源为Dahua大华DH-ASC1201B-D门禁控制器(单门双向B款)的使用说明书,提供了该控制器的使用指南、法律声明、...
这个软件好用Advanced SystemCare Pro 的注册码------------ 序列号: 48f0-48f0-f0ff-0cd7 过期日期: 2012-02-09 数量: 550 状态: 已激活
- 对于大多数汉字和其他复杂的Unicode字符,UTF-8通常使用3个字节,但对于更大的Unicode码点,如辅助平面的字符,可能需要4到6个字节。 在JavaScript中,可以通过`String.prototype.charCodeAt()`方法获取字符的...
"Dahua大华DH-ASC1204B-S_门禁控制器(四门单向B款)使用说明书.pdf" 本文档为Dahua大华DH-ASC1204B-S门禁控制器(四门单向B款)的使用说明书,涵盖了产品的使用说明、法律声明、责任声明、隐私保护提醒、关于本...
在探讨如何由两个ASC码(区位码)复原成一个汉字的问题时,我们首先要理解ASC码、区位码以及汉字编码的基本概念。ASC码,全称为American Standard Code for Information Interchange,即美国标准信息交换代码,是...