¿Cómo puedo obtener un carácter °
(grado) en una cadena?¿Cómo obtener ° carácter en una cadena en python?
Respuesta
Deja esta línea en la parte superior de su fuente de
# -*- coding: utf-8 -*-
Si su editor utiliza una codificación diferente, sustituto de UTF-8
a continuación, puede incluir caracteres UTF-8 directamente en la fuente
Suponiendo que su editor hace UTF-8. Si su editor utiliza un juego de caracteres diferente, indíquelo en su lugar. –
# - * - codificación: cp1252 - * - es lo que funcionó para mí – Richard
>>> u"\u00b0"
u'\xb0'
>>> print _
°
Por cierto, todo lo que hice fue buscar "grado unicode" en Google. Esto nos lleva a dos resultados: "signo de grado U + 00B0" y "grado Celsius U + 2103", que en realidad son diferentes:
>>> u"\u2103"
u'\u2103'
>>> print _
℃
O simplemente 'a = '\ u00b0'' en Python 3. – JAB
@JAB: o simplemente' a =' ° ''. – SilentGhost
@SilentGhost: Bueno, sí, pero no recordaba el código del teclado numérico para ° y no tenía ganas de buscarlo en ese momento. – JAB
Este es el más coder- Versión de especificar un carácter Unicode:
degree_sign= u'\N{DEGREE SIGN}'
Nota: debe ser una N mayúscula en el \N
construcción para evitar la confusión con el '\ n' carácter de nueva línea. El nombre del personaje dentro de las llaves puede ser cualquier caso.
Es más fácil recordar el name de un carácter que su índice unicode. También es más fácil de leer, ergo para eliminar errores. La sustitución de caracteres que sucede en tiempo de compilación: el archivo .py[co]
contendrá una constante para 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]
°-∅
sólo tiene que utilizar \xb0 (in a string);
pitón lo convertirá automáticamente
respuestas anteriores se supone que la codificación UTF8 puede utilizar con seguridad - éste está dirigido específicamente a Windows.
La consola de Windows normaly utiliza CP850 codificación y no UTF-8, por lo que si se intenta utilizar un UTF-8 codificados archivo de origen, se obtiene esos 2 (incorrectos) ┬░
caracteres en lugar de un grado °
.
demostración (usando Python 2.7 en una consola de Windows):
deg = u'\xb0` # utf code for degree
print deg.encode('utf8')
salidas efectivamente ┬░
.
solución: simplemente forzar la codificación correcta (o mejor uso de Unicode):
local_encoding = 'cp850' # adapt for other encodings
deg = u'\xb0'.encode(local_encoding)
print deg
o si utiliza un archivo de origen que define explícitamente una codificación:
# -*- 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. ¿Cómo modifico un solo carácter en una cadena, en Python?
- 2. ¿Cómo obtener el primer carácter de una cadena en SQL?
- 3. Ramita: Cómo obtener el primer carácter en una cadena
- 4. Reemplazar un carácter de una cadena en python
- 5. Ruby: Cómo obtener el primer carácter de una cadena
- 6. ¿Cómo borrar el último carácter en una cadena en C#?
- 7. Cómo eliminar un carácter de una cadena usando Python?
- 8. cómo obtener el último carácter de una cadena?
- 9. ¿Cómo puedo obtener el enésimo carácter de una cadena?
- 10. Dividir una cadena en una cadena, no un carácter
- 11. ¿Cómo obtener valores enteros de una cadena en Python?
- 12. Mire cada carácter en una cadena
- 13. ¿Convierte un solo carácter en una cadena?
- 14. primer carácter de una cadena en Bash
- 15. C# añadiendo un carácter en una cadena
- 16. Accediendo a un carácter en una cadena
- 17. Obtener y eliminar el primer carácter de una cadena
- 18. ¿Es posible obtener solo el primer carácter de una Cadena?
- 19. ¿Cómo comprobar si un carácter está en mayúscula en Python?
- 20. Convertir del carácter hexadecimal al carácter Unicode en python
- 21. Cómo reemplazar instancias repetidas de un carácter con una instancia única de ese carácter en python
- 22. Insertar un carácter en una cadena en una posición determinada
- 23. ¿Cómo repito un carácter n veces en una cadena?
- 24. ¿Cómo reemplazar un carácter de una cadena en SQL?
- 25. ¿Cómo encontrar nth aparición de carácter en una cadena?
- 26. Cómo decodificar un carácter Unicode en una cadena
- 27. ¿Cómo puedo escapar del carácter '%' en una cadena gettext?
- 28. Número de apariciones de un carácter en una cadena
- 29. Eliminar el primer carácter de una cadena
- 30. Encontrar el carácter más frecuente en una cadena
Por favor, véase [esta respuesta] (http://stackoverflow.com/a/37678518/4099593) si está intentando imprimir el signo de grado en un sistema *** Windows ***. –