Problems with encoding/decoding locales
michele at nectarine.it
Tue Sep 30 19:50:57 CEST 2008
I'm using a python script in conjunction with a JPype, to run java classes.
So, here's the code:
from jpype import *
input = open('foo.img','rb').read().decode('ISO-8859-1')
square = java.encoding(input)
output = java.decoding()
fd = open('foo_decode.img','wb')
First of all, java.encoding and java.decoding are two methods that
respectively take a java string as an argument and return a java String.
JPype is the bridge between Java and Python, and converts automatically
a str or unicode pythonstring into a Java String.
So, input and output are two unicode strings. I were forced to use
decode() and encode() methods by python, otherwise it refuses to read
Here's the strange behaviour: when I write the output in the
'foo_decode.img', I don't reassemble the original file; I already tested
the java encoding/decoding libraries with the same input file, and what
the decoding process returns is the original file.
I suspect that the discrepancy is due to encoding/decoding of
ISO-8859-1: is that required?
What do you think about?
More information about the Python-list