Hogy tudok kiíratni egy fekete négyzetet (ASCII 219) pyhon 3-ban?
A Python3 alapértelmezett karakterkódolása az UTF-8. Egyrészt nem baj ha a forráskódodba beleírod közvetlenül a fekete négyzetet, de ha számmal akarod megadni, jobban jársz ha az unicode táblából szeded ki a kódját (full block a neve):
>>> chr(9608)
'█'
Amúgy az ASCII csak 7 bites, nincs 219-es karakter, amire te gondolsz az a cp437. Felveheted bájtként Python-ba majd megadhatod a kódolását:
>>> bytes([219]).decode('cp437')
'█'
De működik közvetlenül is:
>>> print('█')
█
Hogy a kérdező is értse:
Az ASCII 0-tól 127-ig, a 437-es kódlap meg 128-tól 255-ig tart.
Az ASCII fix, a 7 bit fölötti meg szabadon választható, változtatható. Ennek egyik megvalósítása a 437-es, de akár te is definiálhatsz saját kódtáblát arra a területre.
A teljesség kedvéért leírom, hogy lehet escape-elni is a karaktert ha így átláthatóbb (hexadecimális kód kell hozzá, vagy a karakter neve):
'\u2588' #unicode hexában megadva
'\N{full block}' #unicode karakternévvel megadva
b'\xdb'.decode('cp437') #hexa byte sorozat dekódolva
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!