如何将带有中文字符的EBCDIC转换为UTF-8格式
我需要将使用EBCDIC编码的文件转换为UTF-8格式,以便将该文件加载到支持多字节的DB2数据库中 我试过unix重新编码和iconv。他们都没有能力将IBM937转换为UTF8。我正在寻找世界上任何可以在基于unix的系统上实现这一点的实用程序(java、perl、unix)。有人能帮我吗如何将带有中文字符的EBCDIC转换为UTF-8格式,utf-8,ebcdic,Utf 8,Ebcdic,我需要将使用EBCDIC编码的文件转换为UTF-8格式,以便将该文件加载到支持多字节的DB2数据库中 我试过unix重新编码和iconv。他们都没有能力将IBM937转换为UTF8。我正在寻找世界上任何可以在基于unix的系统上实现这一点的实用程序(java、perl、unix)。有人能帮我吗 SL看来Java可以将IBM937代码页转换为UTF-8 您可以将输入格式指定为“cp937” 以下是Oracle页面上的两种方法: 及 Java似乎可以将IBM937代码页转换为UTF-8 您可以将输入
SL看来Java可以将IBM937代码页转换为UTF-8 您可以将输入格式指定为“cp937” 以下是Oracle页面上的两种方法: 及
Java似乎可以将IBM937代码页转换为UTF-8 您可以将输入格式指定为“cp937” 以下是Oracle页面上的两种方法: 及 看看ICU(Unicode的国际组件): 它有一个适用于IBM-937的转换器: CU是一套成熟、广泛使用的 C/C++和Java库提供 Unicode和全球化支持 软件应用。重症监护病房广泛使用 可移植,为应用程序提供了 在所有平台和应用程序上的结果相同 在C/C++和Java软件之间。重症监护室 在非限制性条件下释放 合适的开源许可证 用于两种商业软件 和其他开源或免费软件 软件 以下是该计划的几个亮点 ICU提供的服务:
- 代码页转换:转换文本 与Unicode和几乎任何 其他字符集或编码。重症监护室 转换表基于字符集 IBM在整个课程中收集的数据 是几十年来最 在任何地方都可以买到完整的
- 排序规则:根据 符合一个国家的惯例和标准 特定语言、地区或地区 国家。ICU的整理基于 Unicode排序算法plus 来自的特定于区域设置的比较规则 公共区域设置数据存储库 这类数据的综合来源 数据
- 格式化:格式化数字、日期、, 时间和货币金额取决于 所选区域的约定。 这包括每月和每月的翻译 将日期名称转换为所选语言, 选择适当的缩写, 正确排序字段等。此 数据也来自公共区域设置 数据存储库
- 时间计算:多种类型的 日历的提供超出了 传统的公历。A. 一套完整的时区计算 提供了API
- Unicode支持:ICU密切跟踪 Unicode标准,提供简单的 访问所有的Unicode 字符属性,Unicode 规范化、案例折叠和其他 根据 Unicode标准
- 正则表达式:ICU的正则表达式 表达式完全支持Unicode 同时提供极具竞争力的服务 表演
- Bidi:支持处理文本 包含从左到右的混合 (英语)和从右向左(阿拉伯语或阿拉伯语) (希伯来语)数据
- 文本边界:定位位置 包含单词、句子、段落 一系列文本或标识位置 这将适用于生产线 显示文本时换行
- 代码页转换:转换文本 与Unicode和几乎任何 其他字符集或编码。重症监护室 转换表基于字符集 IBM在整个课程中收集的数据 是几十年来最 在任何地方都可以买到完整的
- 排序规则:根据 符合一个国家的惯例和标准 特定语言、地区或地区 国家。ICU的整理基于 Unicode排序算法plus 来自的特定于区域设置的比较规则 公共区域设置数据存储库 这类数据的综合来源 数据
- 格式化:格式化数字、日期、, 时间和货币金额取决于 所选区域的约定。 这包括每月和每月的翻译 将日期名称转换为所选语言, 选择适当的缩写, 正确排序字段等。此 数据也来自公共区域设置 数据存储库
- 时间计算:多种类型的 日历的提供超出了 传统的公历。A. 一套完整的时区计算 提供了API
- Unicode支持:ICU密切跟踪 Unicode标准,提供简单的 访问所有的Unicode 字符属性,Unicode 规范化、案例折叠和其他 根据 Unicode标准
- 正则表达式:ICU的正则表达式 表达式完全支持Unicode 同时提供极具竞争力的服务 表演
- Bidi:支持处理文本 包含从左到右的混合 (英语)和从右向左(阿拉伯语或阿拉伯语) (希伯来语)数据
- 文本边界:定位位置
包含单词、句子、段落
一系列文本或标识位置
这将适用于生产线
显示文本时换行。
static String readInput() { StringBuffer buffer = new StringBuffer(); try { FileInputStream fis = new FileInputStream("test.txt"); InputStreamReader isr = new InputStreamReader(fis, "cp937"); Reader in = new BufferedReader(isr); int ch; while ((ch = in.read()) > -1) { buffer.append((char)ch); } in.close(); return buffer.toString(); } catch (IOException e) { e.printStackTrace(); return null; } }
static void writeOutput(String str) { try { FileOutputStream fos = new FileOutputStream("test.txt"); Writer out = new OutputStreamWriter(fos, "UTF8"); out.write(str); out.close(); } catch (IOException e) { e.printStackTrace(); } }