Am 05.09.2014 um 10:42 schrieb [email protected]:
> Joshua Landau <[email protected]> wrote:
>> On 3 September 2014 15:48, <[email protected]> wrote:
>>> Peter Otten <[email protected]> wrote:
>>>>>>> [ord(c) for c in "This is a string"]
>>>> [84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 115, 116, 114, 105, 110, 103]
>>>>
>>>> There are other ways, but you have to describe the use case and your Python
>>>> version for us to recommend the most appropriate.
>>>>
>>> That looks OK to me. It's just for outputting a string to the block
>>> write command in python-smbus which expects an integer array.
>>
>> Just be careful about Unicode characters.
>
> I have to avoid them completely because I'm sending the string to a
> character LCD with a limited 8-bit only character set.
Could someone please explain the following behavior to me:
Python 2.7.7, MacOS 10.9 Mavericks
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> [ord(c) for c in 'AÄ']
[65, 195, 132]
>>> [ord(c) for c in u'AÄ']
[65, 196]
My obviously wrong understanding:
‚AÄ‘ in ‚ascii‘ are two characters
one with ord A=65 and
one with ord Ä=196 ISO8859-1 <depends on code table>
—-> why [65, 195, 132]
u’AÄ’ is an Unicode string
—-> why [65, 196]
It is just the other way round as I would expect.
Thank you
--
Kurt Mueller, [email protected]
--
https://mail.python.org/mailman/listinfo/python-list