467,211 Members | 1,213 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,211 developers. It's quick & easy.

how can i write a hello world in chinese with python

I'm try to build a bundle on OS X, so I write a simple python script
for a test:

#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("Hello,Mac!")
This runs OK,but when I try to replace "Hello,Mac!" with chinese, it
can't be display rightly.
Then I tried some way else:

#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("\xe4\xb8\xad")

It doesn't work!

As I know mac is unicode based,how can I display chinese on the screen?

Dec 13 '06 #1
  • viewed: 1861
Share:
7 Replies
try unicode?

"kernel1983 写道:
"
I'm try to build a bundle on OS X, so I write a simple python script
for a test:

#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("Hello,Mac!")
This runs OK,but when I try to replace "Hello,Mac!" with chinese, it
can't be display rightly.
Then I tried some way else:

#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("\xe4\xb8\xad")

It doesn't work!

As I know mac is unicode based,how can I display chinese on the screen?
Dec 13 '06 #2
and I tried unicode and utf-8
I tried to both use unicode&utf-8 head just like "\xEF\xBB\xBF" and not
to use

Anyone knows about the setting in the python code file?
Maybe python doesn't know I'm to use chinese?!

On 12月13日, 下午12时47分, "bearsprite" <bearspr...@gmail.com>
wrote:
try unicode?

"kernel1983 写道:
"
I'm try to build a bundle on OS X, so I write a simple python script
for a test:
#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("Hello,Mac!")
This runs OK,but when I try to replace "Hello,Mac!" with chinese, it
can't be display rightly.
Then I tried some way else:
#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("\xe4\xb8\xad")
It doesn't work!
As I know mac is unicode based,how can I display chinese on the screen?
Dec 13 '06 #3

kernel1983 wrote:
and I tried unicode and utf-8
How did you try unicode? Like this? :

EasyDialogs.Message(u'\u4e2d')
I tried to both use unicode&utf-8 head just like "\xEF\xBB\xBF" and not
to use

Anyone knows about the setting in the python code file?
Maybe python doesn't know I'm to use chinese?!
It depends on how EasyDialogs works. And by the way, when you say utf-8
encoded text is not displayed correctly, what do you actually see on
the screen?

-- Leo

Dec 13 '06 #4

Leo Kislov wrote:
kernel1983 wrote:
and I tried unicode and utf-8

How did you try unicode? Like this? :

EasyDialogs.Message(u'\u4e2d')
I tried to both use unicode&utf-8 head just like "\xEF\xBB\xBF" and not
to use

Anyone knows about the setting in the python code file?
Maybe python doesn't know I'm to use chinese?!

It depends on how EasyDialogs works. And by the way, when you say utf-8
encoded text is not displayed correctly, what do you actually see on
the screen?
There is a Windows version of EasyDialogs -- unfortunately it appears
not to support Unicode, even for the most simple case.

This works:
| >>EasyDialogs.Message('fubar')
but this doesn't:
| >>EasyDialogs.Message(u'fubar')

The title of the window is empty, the text consists of only 'f", and
there is no OK button.
Not very robust.

Dec 13 '06 #5
kernel1983 wrote:
I'm try to build a bundle on OS X, so I write a simple python script
for a test:

#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("Hello,Mac!")
This runs OK,but when I try to replace "Hello,Mac!" with chinese, it
can't be display rightly.
Then I tried some way else:

#!/usr/bin/env python
import EasyDialogs
EasyDialogs.Message("\xe4\xb8\xad")

It doesn't work!

As I know mac is unicode based,how can I display chinese on the screen?
EasyDialogs is an *ancient* module on OS X--it may not support unicode.
Try posting to the MacPython list, someone there can verify this.

--Kevin

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
Dec 13 '06 #6

Dennis Lee Bieber wrote:
On 12 Dec 2006 23:40:41 -0800, "kernel1983" <ke********@gmail.com>
declaimed the following in gmane.comp.python.general:
and I tried unicode and utf-8
I tried to both use unicode&utf-8 head just like "\xEF\xBB\xBF" and not
to use
"unicode" is a term covering many sins. "utf-8" is a specification
for encoding elements of specific unicode characters using 8-bit
elements (I believe by using certain codes x00 to x7F alone as "normal",
and then x80 to xFF to represent an "escape" to higher [16-bit] element
sets).

"\xEF\xBB\xBF" is just a byte string with no identifier of what
encoding is in use (unless the first one or two are supposed to be
BOM)... In the "Windows: Western" character set, it is equivalent to
small-i-diaeresis/right-guillemot/upside-down? (锘) In MS-DOS: Western
Europe, those same bytes represent an
acute-accent/double-down&left-box-drawing/solid-down&left

I've not done any unicode work (iso-latin-1, or subset thereof, has
done for me). I also don't know Mac's, so I don't know if the windowing
API has specific calls for Unicode data... But you probably have to
encode or decod that bytestring into some compatible unicode
representation.
When you save a textfile as UTF-8 in Notepad.exe (Windows) it puts the
bytestring "\xEF\xBB\xBF" at the start to indicate that it's UTF-8 and
not ANSI (ie 8-bit characters). The bytes are actually the BOM
bytestring "\xFE\xFF" encoded in UTF-8.

Dec 14 '06 #7
thanks everyone
maybe this simple API doesn't fit the Chinese display
but thanks everybody!

At least I've got that what bundles is and maybe I can use Python to
write program

On 12月14日, 上午6时31分, "MRAB" <goo...@mrabarnett..plus.com>
wrote:
Dennis Lee Bieber wrote:
On 12 Dec 2006 23:40:41 -0800, "kernel1983" <kernel1...@gmail.com>
declaimed the following in gmane.comp.python.general:
and I tried unicode and utf-8
I tried to both use unicode&utf-8 head just like "\xEF\xBB\xBF" and not
to use
"unicode" is a term covering many sins. "utf-8" is a specification
for encoding elements of specific unicode characters using 8-bit
elements (I believe by using certain codes x00 to x7F alone as "normal",
and then x80 to xFF to represent an "escape" to higher [16-bit] element
sets).
"\xEF\xBB\xBF" is just a byte string with no identifier of what
encoding is in use (unless the first one or two are supposed to be
BOM)... In the "Windows: Western" character set, it is equivalent to
small-i-diaeresis/right-guillemot/upside-down? () In MS-DOS: Western
Europe, those same bytes represent an
acute-accent/double-down&left-box-drawing/solid-down&left
I've not done any unicode work (iso-latin-1, or subset thereof, has
done for me). I also don't know Mac's, so I don't know if the windowing
API has specific calls for Unicode data... But you probably have to
encode or decod that bytestring into some compatible unicode
representation.When you save a textfile as UTF-8 in Notepad.exe (Windows) it puts the
bytestring "\xEF\xBB\xBF" at the start to indicate that it's UTF-8 and
not ANSI (ie 8-bit characters). The bytes are actually the BOM
bytestring "\xFE\xFF" encoded in UTF-8.
Dec 16 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Posadas, Dennis | last post: by
1 post views Thread by Anthony Liu | last post: by
33 posts views Thread by Nick Evans | last post: by
1 post views Thread by Anthony Liu | last post: by
2 posts views Thread by =?gb2312?B?u7W1sA==?= | last post: by
1 post views Thread by James T. Dennis | last post: by
12 posts views Thread by Steve Howell | last post: by
reply views Thread by devito@mailinator.com | last post: by
reply views Thread by Gerardo Herzig | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.