chr( ' stands for character 'xs 'xyza unicode string of ascii text 'xyzlen(sthree characters long [ord(cfor in sthree characters with integer ordinal values [ normal -bit ascii text like this is represented with one character per byte under each of the unicode encoding schemes described earlier in this encode('ascii'values in byte ( bitseach 'xyzs encode('latin- 'values in byte ( bitseach 'xyzs encode('utf- 'values in byte in others or 'xyzin factthe bytes objects returned by encoding ascii text this way are really sequence of short integerswhich just happen to print as ascii characters when possibles encode('latin- ' 'xyzs encode('latin- ')[ list( encode('latin- ')[ coding non-ascii text formallyto code non-ascii characterswe can usehex or unicode escapes to embed unicode code point ordinal values in text strings --normal string literals in xand unicode string literals in (and in for compatibilityhex escapes to embed the encoded representation of characters in byte strings-normal string literals in xand bytes string literals in (and in for compatibilitynote that text strings embed actual code point valueswhile byte strings embed their encoded form the value of character' encoded representation in byte string is the same as its decoded unicode code point value in text string for only certain characters and encodings in any eventhex escapes are limited to coding single byte' valuebut unicode escapes can name characters with values and bytes wide the chr function can also be used to create single non-ascii character from its code point valueand as we'll see latersource code declarations apply to such characters embedded in your script coding unicode strings