读取gbk编码的文件,并将其转为utf-8编码后输出:
import java.io.File;
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
public class Test1 {
public static String readTxt(int off,int leng) {
RandomAccessFile r;
String str = "";
try {
r = new RandomAccessFile(new File("D:/test.txt"), "r");
byte[] c = new byte[leng];
r.seek(off);
r.read(c);
str = new String(c);
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
public static byte[] gbk2utf8(String chenese){
char c[] = chenese.toCharArray();
byte [] fullByte =new byte[3*c.length];
for(int i=0; i<c.length; i++){
int m = (int)c[i];
String word = Integer.toBinaryString(m);
StringBuffer sb = new StringBuffer();
int len = 16 - word.length();
for(int j=0; j<len; j++){
sb.append("0");
}
sb.append(word);
sb.insert(0, "1110");
sb.insert(8, "10");
sb.insert(16, "10");
String s1 = sb.substring(0,8);
String s2 = sb.substring(8,16);
String s3 = sb.substring(16);
byte b0 = Integer.valueOf(s1, 2).byteValue();
byte b1 = Integer.valueOf(s2, 2).byteValue();
byte b2 = Integer.valueOf(s3, 2).byteValue();
byte[] bf = new byte[3];
bf[0] = b0;
fullByte[i*3] = bf[0];
bf[1] = b1;
fullByte[i*3+1] = bf[1];
bf[2] = b2;
fullByte[i*3+2] = bf[2];
}
return fullByte;
}
public static void main(String[] args) {
String str = readTxt(0,731);
byte [] fullByte = gbk2utf8(str);
String fullStr = "";
try {
fullStr = new String(fullByte, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(fullStr);
}
}
测试文档D:\test.txt内容:
[账号],[日期],[收支种类],[币种],[收入],[支出],[余额],[摘要]
3819660311,2004-2006-01-05,支出,人民币,0,54.20, 6403.89,消费款
中文可以,正确转换
英文乱码
分享到:
相关推荐
这个`GBK2UTF8Demo`程序首先遍历源GBK编码的文件夹,对每个非目录文件进行读取、编码转换并写入到目标UTF-8编码的文件夹中。文件的最后修改时间和类型信息也一并被保留。如果是目录,程序会更新目录的名称,将"GBK...
描述中提到的"批量的将gbk文件装utf-8"意味着这个项目或脚本旨在处理多个GBK格式的文件,并一次性将它们转换成UTF-8格式。这通常涉及到文件操作、编码转换和可能的错误处理。"多看 多练习 勤能补拙 笨鸟先飞 蒂花之...
|————create_direct_pay_by_user-CSHARP-UTF-8 |————create_direct_pay_by_user-JAVA-GBK |————create_direct_pay_by_user-JAVA-UTF-8 |————create_direct_pay_by_user-PHP-GBK |————...
- 同时,确保你的项目编码是UTF-8,这通常在IDE(如IntelliJ IDEA或Eclipse)的项目设置中进行配置。 2. **数据库连接配置**: - 在数据库连接URL中指定字符集,例如对于MySQL,可以添加`useUnicode=true&...
本人上传的模板仅供参考... 模板目前已发布GBK、UTF-8 2种编码,完美支持Discuz! X3 X3.1 X3.2最新版本; …… 更多精彩欢迎进入演示站体验!NVBING5 四年(2012-2015)专注Discuz!模板开发与设计,万名站长的不二选择!
7. 编码转换:在易语言中,可能需要进行不同编码间的转换,如GBK到UTF-8,以便于与不同编码的系统或软件进行交互。 在"demo.e"这个文件中,我们可以期待看到上述概念的具体实现。通过学习和分析这段源码,开发者...
文件编码格式,如ASCII、UTF-8、GBK等,是用来规定字符集和它们在二进制数据流中表示方式的一种标准。不同的编码格式适用于不同的场景,例如,UTF-8是全球通用的编码,支持多种语言,而GBK是中国大陆常用的编码,...
[变更] demo数据变更为可独立安装包 [变更] 添加广告页面的错误提示信息 [变更] 邮件模板编辑器改进为html编辑器 [修正] 修正短信功能gbk下发送不了中文内容的问题 [修正] 修正短信功能不能群发没有积分范围的特殊...
解决方法包括确保文件以UTF-8编码保存,并在页面头部使用`<meta>`标签指定UTF-8编码,或者在JSP文件中使用`pageEncoding`属性,如`<%@ pageEncoding="utf-8"%>`,在XML文件中声明`<?xml encoding="UTF-8"?...
例如,添加`-Dfile.encoding=UTF-8`到JVM启动参数,使得Java默认使用UTF-8编码处理文件路径。 5. 操作系统环境变量: - 在Windows系统中,可以修改系统的区域和语言设置,确保文件路径的默认编码与Java期望的编码...
为了解决这个问题,我们需要确保使用正确的字符编码,通常是`"GBK"`或`"UTF-8"`。 - 使用`Charset.forName("UTF-8")`设置输入流和输出流的字符编码。 4. **完整DEMO步骤**: 1. 创建`FileInputStream`,传入ZIP...
在计算机系统中,字符编码是用来表示文本的规则,如常见的ASCII、GBK和UTF-8等。在Web环境中,HTTP协议和HTML文档都有自己的默认字符编码,而JSP页面作为动态内容生成者,其编码设置更为关键。 1. **JSP页面编码...
字符编码决定了字符在计算机中的表示方式,比如常用的UTF-8、GBK等。在Web应用中,浏览器与服务器之间的通信默认使用UTF-8编码,但这个默认设置可能会因配置而异。当编码不一致时,就会出现乱码。 1. **JSP页面编码...
常用的字符编码有ASCII、GBK、GB2312、ISO-8859-1、UTF-8等。其中UTF-8是一种可变长度的编码方式,可以支持世界上绝大多数语言的文字表示,并且与ASCII编码兼容,在Web开发中得到了广泛的应用。 #### 二、Servlet...
AIUI 的结果编码方式为 UTF-8,用户需要将其转换为 Unicode,然后再转换为 GBK 输出。这个过程可以使用 ::MultiByteToWideChar 和 ::WideCharToMultiByte 函数实现。 代码解读 在 AIUITest.cpp 文件中的第 180 行...
2. **统一项目编码**:在整个项目中,包括IDE、代码文件、资源配置文件等,都应统一使用UTF-8编码,避免因编码不一致引起的问题。 3. **XML配置文件设置**:在MyBatis的主配置文件(mybatis-config.xml)中,可以...
本人在做下载模块的时候,遇到了点击通知栏不响应的问题,所以就顺手写...1. 本Demo使用Utf-8编码,出现乱码,请将编码修改为Utf-8,或将代码文件转为gbk; 2. 本Demo仅演示了四种方式跳转Activity,具体见JumpActivity.java.
$encodedStr = iconv("GBK", "UTF-8", $inputStr); // 或者使用 mb_convert_encoding $array = explode(",", $encodedStr); ``` 此外,`str_split()`函数也可用于将字符串转换为字符数组,但不支持自定义分隔符,且...
常见的编码格式有ASCII、UTF-8、GBK等。如果在设置Cookie时不正确地处理这些编码,中文字符可能会显示为乱码。因此,确保在创建和读取Cookie时统一使用UTF-8编码是必要的,这可以通过在HTTP头信息中指定`Content-...