Curt Hagenlocher wrote:
You can check for the unicode type by saying "if type(a) == type(u'')". This will work under both CPython and IronPython.
Or for checking for strings in general:
isinstance(a, basestring) Michael
On Tue, Sep 23, 2008 at 9:59 AM, Vizcayno <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:Curt: Thanks for your answer and guidelines. As I do not know what value will my variable receive from cells of an excel file (int, double, strings with accute spanish characters, etc.) I will use the try ... except. My very best regards. Vizcayno. On 23 sep, 11:15, "Curt Hagenlocher" <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: > IronPython wants to treat this string as Unicode because it's got a > character with the high bit set. You can actually get an equivalent result > from CPython when you tell it to use Unicode: > > >>> a="Pitón" > >>> str(a) > 'Pit\xa2n' > >>> a=u"Pitón" > >>> str(a) > > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position > 3: ordinal not in range(128) > > > > (Though I can't help but notice that we may be raising the wrong type of > error.) > > You'll probably need to special-case unicode strings and keep them as > unicode instead of trying to convert them with "str" to a single-byte > string. > > > > On Tue, Sep 23, 2008 at 6:52 AM, Vizcayno <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: > > Hello: > > Is there a workaround to solve the next problem? > > > .ipy > > IronPython 2.0 Beta (2.0.0.5000) on .NET 2.0.50727.3053 > > Type "help", "copyright", "credits" or "license" for more information. > > >>> a="Pitón" > > >>> print str(a) > > Traceback (most recent call last): > > File "<stdin>", line 1, in <module> > > File "mscorlib", line unknown, in GetString > > File "mscorlib", line unknown, in GetChars > > File "mscorlib", line unknown, in Fallback > > File "mscorlib", line unknown, in Throw > > UnicodeDecodeError: ('unknown', u'\xf3', 3, 4, '') > > > I python 2.5 I get: > > >>> a = "Pitón" > > >>> print str(a) > > Pitón > > > May be you will ask: why to do that? well, what I want is to convert > > any value a variable receives (float, unicode, int, string, etc) to a > > string variable. > > Many thanks for your time and help. > > Vizcayno. > > _______________________________________________ > > Users mailing list > > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > >http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > _______________________________________________ > Users mailing list > [EMAIL PROTECTED]://lists.ironpython.com/listinfo.cgi/users-ironpython.com- <http://lists.ironpython.com/listinfo.cgi/users-ironpython.com-> Ocultar texto de la cita - > > - Mostrar texto de la cita - _______________________________________________ Users mailing list [email protected] <mailto:[email protected]> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com ------------------------------------------------------------------------ _______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
-- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/ http://www.trypython.org/ http://www.ironpython.info/ http://www.theotherdelia.co.uk/ http://www.resolverhacks.net/ _______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
