`
wattone
  • 浏览: 40588 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于UTF16转成普通的UTF8文本

    博客分类:
  • JAVA
阅读更多
今天用PL/SQL导入数据的时候遇到无法导入,提示UTF16 detected,this is not yet supported by the importer。另外换sqluldr导入数据后发现数据全部为null,看来确实是UTF16格式不支持在我的ORACLE9i数据库中。无奈只得处理下,有一个比较简单方法是用editplus打开后复制一份到新文本中,这样新文本的数据就会和系统一致。另外一个方法自然是写个简单代码直接从UTF16转到UTF8。以下代码我借鉴了网上一些资料后自己写了,里面还有一些未知bug,但是自己现在暂时用来转换整数号码文本没有问题,以后有时间再进一步改进。

功能:利用流方式以UTF16格式读取源UTF16文本中每一行后添加到StringBuffer中,再将StringBuffer以UTF8格式写入新文本中。

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Utf16ToUtf8 {
	private int count = 0;
	

	public void Utf16RedWrite(String filePath1,String filePath2) {
		
		StringBuffer buffer  = new StringBuffer();
		try {
			// --读
			BufferedReader br = new BufferedReader(new InputStreamReader(
					new FileInputStream(filePath1), "UTF-16"));
			// System.out.println(br.readLine());// 中a

			while (br.ready()) {
				buffer.append(br.readLine());
				buffer.append("\n");
				count++;
			}
		

		// --正确的字符流写
		OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(
				filePath2), "UTF-8");
		ow.write(buffer.toString());

		
		ow.close();
		br.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void main (String args[]){
		Utf16ToUtf8 utu = new Utf16ToUtf8();
		String f1 = "E:/sql_loader/sqlload_watone/20110522.txt";
		String f2 = "E:/sql_loader/sqlload_watone/20110522_1.txt";
		utu.Utf16RedWrite(f1,f2);
		
	}
}


分享到:
评论

相关推荐

    UTF8转16进制工具 Utf8ToHex

    标题中的"UTF8转16进制工具 Utf8ToHex"指的是一个能够将UTF-8编码的字符串转换成16进制表示形式的实用工具。描述中提到的例子,中文的“你好”在UTF-8编码下是"\xE4\xBD\xA0\xE5\xA5\xBD",这个就是将UTF-8编码转换...

    c++ UTF-8 UTF-16转换

    总的来说,C++中的UTF-8和UTF-16转换涉及到了字符编码、内存管理和错误处理等多个方面,理解这些知识点对于开发跨平台的软件或处理国际化文本是非常重要的。在实际应用中,根据项目需求选择合适的转换方法,并充分...

    UTF-8转ANSI文本文件转换器

    "UTF-8转ANSI文本文件转换器"就是这样一个工具,它能够帮助用户批量将UTF-8编码的文本文件转换为ANSI编码的文本文件。在此,我们将深入探讨UTF-8和ANSI编码的原理以及转换过程中涉及的关键知识点。 **一、UTF-8编码...

    易语言将文本转换为UTF-8码

    在处理文本数据时,易语言提供了丰富的函数和方法,其中之一就是将文本转换为UTF-8编码。 UTF-8是一种广泛使用的Unicode字符编码方案,它可以表示Unicode字符集中的所有字符。与GBK等其他编码相比,UTF-8在全球化和...

    DOS或CMD命令下文本UTF8转ANSI软件

    标题提到的“DOS或CMD命令下文本UTF8转ANSI软件”是指在命令提示符(Command Prompt,简称CMD)环境中运行的程序,可以将使用UTF8编码的文本文件转换为使用ANSI编码的文件。UTF8是一种广泛使用的字符编码标准,它...

    易语言源码将文本转换为UTF-8码.rar

    4. **写入UTF-8文本**:转换后的UTF-8编码文本需要保存到新的文件中,可以使用“写文本文件全部”命令将文本写入到指定的文件,确保文件是以UTF-8编码保存的。 5. **错误处理**:在进行编码转换过程中,可能会遇到...

    文本与UTF8编码互转.zip

    3. **LabVIEW自定义VI**: “文本与UTF8编码互转.vi”是一个自定义的LabVIEW程序,它可能是通过一系列的LabVIEW内置函数组合而成,实现了将文本字符串转换为UTF-8编码,以及将UTF-8编码解码回文本字符串的功能。...

    批量utf文件转utf8-bom

    "批量utf文件转utf8-bom"这个主题指的是将一批以UTF编码的文件转换为带有BOM(Byte Order Mark)的UTF-8编码。BOM是一个特殊的字节序列,用于标识文件的编码类型,对于UTF-8编码,BOM的字节序列为0xEF, 0xBB, 0xBF。...

    实现ascii ,utf8,utf16三种编码之间的转换.zip

    ASCII、UTF-8和UTF-16是三种常见的字符编码标准,每种都有其独特的特性和用途。本篇文章将深入探讨这三种编码方式,并解释如何在它们之间进行转换。 **ASCII编码**(American Standard Code for Information ...

    CString转UTF8,UTF8转CString

    #### 二、CString转UTF-8 首先,让我们来看看`CString`到UTF-8编码字符串的转换方法: ```cpp CString CNurseDialog::multiToUtf8(CString &str_multi) { CString str_utf8; int len = MultiByteToWideChar(CP_...

    UTF8-无BOM转为UTF16LE

    例如,某些数据库或电子表格软件可能更倾向于接受UTF16LE编码,而某些网络服务或文本编辑器可能更偏好UTF8无BOM编码。因此,了解如何在C这样的底层语言中进行这些转换是非常有价值的。 转换过程可能会涉及以下步骤...

    pb12 gb转utf-8

    总之,“pb12 gb转utf-8”是一个关于使用PowerBuilder 12将GBK编码的数据转换为UTF-8编码的过程,这在处理多语言环境或者跨平台应用时尤其重要。理解和掌握这种转换技巧对于确保数据的正确性和兼容性是至关重要的。

    UTF8与ansi string转换处理(DELPHI7开发)

    例如,从ANSI String转换到UTF8时,需要确定ANSI编码的基础,然后将其转换为对应的Unicode编码,最后再编码成UTF8。反向转换时,需要先解码UTF8,再根据目标系统或用户的区域设置选择合适的ANSI编码。 总的来说,...

    utf-8 ansi 字符互转 工具

    例如“utf-8 ansi 字符互转 工具”就是这样一个软件,它能方便地帮助用户将文件或文本内容在UTF-8和ANSI编码之间进行转换。使用这类工具,用户通常只需选择输入文件、指定输出格式,然后点击转换按钮即可完成操作。 ...

    易语言TXT快速转换UTF-8源码

    本资源提供的是一个易语言编写的TXT文本文件快速转换为UTF-8编码格式的源代码,这对于处理大量文本数据或需要跨平台兼容性的项目非常有用。 在编程领域,字符编码是至关重要的,因为它决定了程序如何理解和显示文本...

    C/C++语言UTF16和UTF32互相转换生成文件

    UTF-16和UTF-32是两种广泛使用的Unicode编码格式,它们分别以不同的方式表示 Unicode 字符集中的每一个字符。本篇文章将深入探讨如何使用C/C++进行UTF-16和UTF-32之间的转换,并讨论在读取和写入文件时的相关技术。 ...

    DOS或CMD命令下文本UTF8、ANSI互转软件

    用于DOS命令或CMD界面下对文本文件UTF8格式转为ANSI格式,本人已经测试通过

    utf8与string的相互转换

    例如,当你从网页抓取数据时,数据通常是UTF-8编码的字节流,需要解码成字符串进行处理;相反,当你向服务器发送请求或者保存文件时,可能需要将字符串编码为UTF-8格式。 了解这些基本概念后,我们来看提供的压缩包...

    UTF8转GBK C语言 单片机

    例如,对于2字节的字符,第一个字节的二进制表示去掉前两位11,作为高8位,第二个字节去掉前四位10,作为低8位,组合成16位的码点。 4. **查表得到GBK编码**:使用预生成的GBK码表,通过码点找到对应的GBK编码,这...

    labview text to utf8

    "labview text to utf8" 这个标题表明我们要探讨的是如何在LabVIEW中将包含汉字的字符串转换成UTF-8编码格式,以便在不同系统或平台之间进行兼容的数据传输。 默认情况下,LabVIEW可能会使用本地的字符编码,如ANSI...

Global site tag (gtag.js) - Google Analytics