Hi, Slide,
Hi, Malcolm,

Both Python and .NET itself have some heuristics to determine the output 
encoding on stdout.

And it's well possible that this heuristics get confused depending on the 
locale or other settings.

However, this seems to be specific to the machine - on my machine (using the 
Cygwin od.exe), the problem does not appear:

D:\ipytest>"c:\Program Files (x86)\IronPython 2.7\ipy64.exe" -c "print 'hello'" 
| c:\cygwin\bin\od.exe -x
0000000 6568 6c6c 0d6f 000a
0000007

D:\ipytest>"c:\Program Files (x86)\IronPython 2.7\ipy64.exe" -c "print 'hello'" 
> foo.txt

D:\ipytest>c:\cygwin\bin\od.exe -x foo.txt
0000000 6568 6c6c 0d6f 000a
0000007

Best regards

Markus Schaber

CODESYS(r) a trademark of 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions
________________________________
3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50

E-Mail: [email protected]<mailto:[email protected]> | Web: 
codesys.com<http://www.codesys.com> | CODESYS store: 
store.codesys.com<http://store.codesys.com>
CODESYS forum: forum.codesys.com<http://forum.codesys.com>

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade 
register: Kempten HRB 6186 | Tax ID No.: DE 167014915
Von: Ironpython-users 
[mailto:[email protected]] Im Auftrag 
von Slide
Gesendet: Donnerstag, 4. April 2013 00:32
An: [email protected]
Cc: [email protected]
Betreff: Re: [Ironpython-users] ipy64 Unicode file vs. pipe

Pipe vs. file differences would probably be the realm of the shell you are 
running under, not ipy. To ipy, its just stdout.

On Wed, Apr 3, 2013 at 12:25 PM, Malcolm Slaney 
<[email protected]<mailto:[email protected]>> wrote:
Maybe this is well known, but I couldn't find it on the web.

Iron Python is pretty wonderful, but it gave me very confusing output.  It
likes Unicode.  But I don't want Unicode output.  All my output (as part of
a processing chain) are numbers and spaces.   ASCII is good for this (and
that's what the other tools want.)

If I run a simple command and send the output to a file I get Unicode. But
the exact same command when sent to a pipe gives me ASCII.  ARGGHH.   Took
me a long time to figure out this simple test case.

This behavior should be (better) documented.  Hopefully this email will save
somebody else a lot of head scratching.

- Malcolm
P.S.  The example below uses the Gnu on  Windows command od to display the
actual contents of the file in hex.  The first example shows ASCII output,
while the second output looks like Unicode to me.



PS Z:\PitchTracking> ipy64.exe -c "print 'hello'" | od -x
0000000 6568 6c6c 0d6f 000a
0000007

PS Z:\PitchTracking> ipy64.exe -c "print 'hello'" > junk
PS Z:\PitchTracking> od -x junk
0000000 feff 0068 0065 006c 006c 006f 000d 000a
0000020

_______________________________________________
Ironpython-users mailing list
[email protected]<mailto:[email protected]>
http://mail.python.org/mailman/listinfo/ironpython-users



--
Website: http://earl-of-code.com
_______________________________________________
Ironpython-users mailing list
[email protected]
http://mail.python.org/mailman/listinfo/ironpython-users

Reply via email to