我有以下任务:用UTF-8编写的混合拉丁语/阿拉伯语中的某些文本需要转换为使用POS打印机打印,后者使用古代one-byte code page 864。
text.getBytes("ibm-864")
突然显示了许多问号,而不是阿拉伯字符,在挖掘代码后,我理解转换表有一些不同版本的阿拉伯字符用于映射到ibm-864(在FExx范围内某处而不是06xx,我的文字中有。)
我正在寻找一些代码或库,可以将阿拉伯语unicode转换为cp864,最好映射到相应形式的阿拉伯语字符(在cp864中有一些隔离,初始,内侧和最终形式的某些chars),甚至可能为RTL处理反向,因为我怀疑硬件是否自动支持它。
我知道这是一项非常具体的任务,但为什么不试一试呢?我也知道如何实现这一点,但试图找到一个随时可用的自行车:)
任何?
另一种可能的解决方案:可以将unicode arabic从范围U+0600 - U+06FF Arabic
转换为范围U+FE70 - U+FF6F Arabic Presentation Forms-B
的库。然后我可以安全地在cp864中获取我的字节。有没有人见过什么?
答案 0 :(得分:2)
要将阿拉伯语文本输出到相对愚蠢的输出设备,您需要做几件事:
在Java上,ICU库允许您这样做: