Come posso ottenere un carattere °
(grado) in una stringa?Come ottenere ° carattere in una stringa in python?
risposta
mettere questa linea alla parte superiore della vostra fonte
# -*- coding: utf-8 -*-
Se l'editor utilizza una codifica diversa, sostituto di utf-8
Quindi è possibile includere i caratteri UTF-8 direttamente nella sorgente
Supponendo che l'editor sia UTF-8. Se il tuo editor usa un set di caratteri diverso, allora indica quello. –
# - * - codifica: cp1252 - * - è ciò che ha funzionato per me – Richard
>>> u"\u00b0"
u'\xb0'
>>> print _
°
BTW, tutto ciò che ho fatto è stato cercare "unicode degree" su Google. Questo porta in primo piano due risultati: "segno di Laurea U + 00B0" e "grado Celsius U + 2103", che sono in realtà diverse:
>>> u"\u2103"
u'\u2103'
>>> print _
℃
Oppure solo 'a = '\ u00b0'' in Python 3. – JAB
@JAB: o solo' a =' ° ''. – SilentGhost
@SilentGhost: Beh, sì, ma non ricordavo il codice numerico per ° e non avevo voglia di cercarlo in quel momento. – JAB
Questo è il più coder- rispetto alla versione specifica di un carattere Unicode:
degree_sign= u'\N{DEGREE SIGN}'
Nota: deve essere una N maiuscola nella \N
costrutto per evitare confusione con il '\ n' carattere di nuova riga. Il nome del personaggio all'interno delle parentesi graffe può essere comunque.
È più facile ricordare lo name di un carattere rispetto all'indice Unicode. È anche più leggibile, ergo debugging-friendly. La sostituzione personaggio avviene al momento della compilazione: il file .py[co]
conterrà una costante per u'°'
:
>>> import dis
>>> c= compile('u"\N{DEGREE SIGN}"', '', 'eval')
>>> dis.dis(c)
1 0 LOAD_CONST 0 (u'\xb0')
3 RETURN_VALUE
>>> c.co_consts
(u'\xb0',)
>>> c= compile('u"\N{DEGREE SIGN}-\N{EMPTY SET}"', '', 'eval')
>>> c.co_consts
(u'\xb0-\u2205',)
>>> print c.co_consts[0]
°-∅
basta usare \xb0 (in a string);
python convertirà automaticamente
risposte di cui sopra per scontato che la codifica UTF-8 può tranquillamente essere utilizzato - questo uno è specificamente mirato per Windows.
La console di Windows utilizza normalmente CP850 codifica e non utf8, quindi se si tenta di utilizzare un file sorgente utf8-codificato, si ottiene quei 2 caratteri (errati) ┬░
invece di un grado °
.
dimostrazione (utilizzando python 2.7 in una console di Windows):
deg = u'\xb0` # utf code for degree
print deg.encode('utf8')
uscite in modo efficace ┬░
.
Fix: basta forzare la codifica corretta (o meglio l'uso unicode):
local_encoding = 'cp850' # adapt for other encodings
deg = u'\xb0'.encode(local_encoding)
print deg
o se si utilizza un file di origine che definisce esplicitamente una codifica:
# -*- coding: utf-8 -*-
local_encoding = 'cp850' # adapt for other encodings
print " The current temperature in the country/city you've entered is " + temp_in_county_or_city + "°C.".decode('utf8').encode(local_encoding)
- 1. come ottenere l'ultimo carattere di una stringa?
- 2. in javascript, come posso ottenere l'ultimo carattere di una stringa
- 3. Come ottenere il primo carattere di una stringa in SQL?
- 4. stringa esadecimale a carattere in python
- 5. Ottenere un singolo carattere da una stringa
- 6. Ottenere due caratteri da una stringa in python
- 7. Sostituzione di un carattere di una stringa in python
- 8. Sostituzione ultimo carattere in una stringa
- 9. Come ottenere valori interi da una stringa in Python?
- 10. Python - Come tagliare una stringa in Python?
- 11. Ruby: come ottenere il primo carattere di una stringa
- 12. Come aggiungere un carattere unicode prima di una stringa? [Python]
- 13. Iterazione attraverso una stringa unicode in Python
- 14. Come cancellare tutto dopo un determinato carattere in una stringa?
- 15. stringa di ottenere dopo carattere
- 16. C#: come ottenere il primo carattere di una stringa?
- 17. Come posso ottenere l'ennesimo carattere di una stringa?
- 18. Python: come ottenere StringIO.writelines per accettare una stringa unicode?
- 19. Accesso a un carattere in una stringa
- 20. Come sostituire un carattere in una stringa in Java?
- 21. Come eliminare l'ultimo carattere in una stringa in C#?
- 22. Come posso controllare l'ultimo carattere in una stringa in bash?
- 23. Come dividere una stringa in un particolare carattere in Rebol
- 24. Convertire un singolo carattere in una stringa?
- 25. Come espandere una stringa all'interno di una stringa in python?
- 26. Ottenere la stringa tra parentesi in Python
- 27. Come ottenere una stringa formattata in OCaml?
- 28. dividere una stringa in Python
- 29. ottenere byte dalla stringa unicode in python
- 30. invertire una stringa in Python
Si prega di consultare [questa risposta] (http://stackoverflow.com/a/37678518/4099593) se si sta tentando di stampare il segno di laurea su un sistema *** Windows ***. –