Portál AbcLinuxu, 13. května 2025 21:58
>>> a = '\38\44\06\6d\26\49\13\1a' >>> print a 8$d9 a >>>A to ze pri vypisu pres print se vytisnou znaky po prevodu do ASCII. Jakym zpusobem mohu docilit toho, abych retezec a vypsal pomoci print opravdu jako "\38\44\06\6d\26\49\13\1a"?
a = '\\38\\44\\06\\6d\\26\\49\\13\\1a'NN
a = r'\38\44\06\6d\26\49\13\1a'
>>> a = '\38\44\06\6d\26\49\13\1a' >>> len( a ) 12 >>> print map( None, a ) ['\x03', '8', '$', '\x06', '\x06', 'd', '\x16', '\x04', '9', '\x0b', '\x01', 'a'] >>>To, co jsi chtel, je zrejme:
>>> a = '\x38\x44\x06\x6d\x26\x49\x13\x1a' >>> len( a ) 8 >>> print map( None, a ) ['8', 'D', '\x06', 'm', '&', 'I', '\x13', '\x1a'] >>>A pak tedy:
>>> print ''.join( map( lambda c : '\%02x' % ord( c ), a ) ) \38\44\06\6d\26\49\13\1a >>> print ''.join( map( lambda c : '\\x%02x' % ord( c ), a ) ) \x38\x44\x06\x6d\x26\x49\x13\x1a >>>
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.