Program Club

파이썬에서 문자열에서 ° 문자를 얻는 방법은 무엇입니까?

proclub 2020. 12. 14. 20:08
반응형

파이썬에서 문자열에서 ° 문자를 얻는 방법은 무엇입니까?


°(정도) 문자를 문자열로 가져 오려면 어떻게 해야합니까?


이 줄을 소스 맨 위에 놓으십시오.

# -*- coding: utf-8 -*-

편집기에서 다른 인코딩을 사용하는 경우 utf-8로 대체하십시오.

그런 다음 소스에 직접 utf-8 문자를 포함 할 수 있습니다.


이것은 유니 코드 문자를 지정하는 가장 코더 친화적 인 버전입니다.

degree_sign= u'\N{DEGREE SIGN}'

참고 : \N'\ n'개행 문자와의 혼동을 피하기 위해 구조 에서 대문자 N이어야합니다 . 중괄호 안의 문자 이름은 대소 문자를 가리지 않습니다.

유니 코드 인덱스보다 문자 이름 을 기억하는 것이 더 쉽습니다 . 또한 더 읽기 쉽고 ergo 디버깅에 친숙합니다. 문자 대체는 컴파일 시간에 발생합니다. .py[co]파일에는 다음에 대한 상수가 포함됩니다 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]
°-∅

>>> u"\u00b0"
u'\xb0'
>>> print _
°

BTW, 내가 한 것은 Google에서 "유니 코드 학위"를 검색하는 것뿐이었습니다. 이렇게하면 "Degree sign U + 00B0"및 "Degree Celsius U + 2103"의 두 가지 결과가 나타납니다. 실제로는 다릅니다.

>>> u"\u2103"
u'\u2103'
>>> print _

위의 답변은 UTF8 인코딩을 안전하게 사용할 수 있다고 가정합니다. 이것은 특별히 Windows를 대상으로합니다.

Windows 콘솔은 일반적으로 utf-8이 아닌 CP850 인코딩 을 사용하므로 utf8 인코딩 된 소스 파일을 사용하려고 ┬░하면 degree 대신 2 (잘못된) 문자가 표시 됩니다 °.

데모 (Windows 콘솔에서 Python 2.7 사용) :

deg = u'\xb0`  # utf code for degree
print deg.encode('utf8')

효과적으로 출력 ┬░합니다.

수정 : 올바른 인코딩을 강제하거나 유니 코드를 사용하는 것이 좋습니다.

local_encoding = 'cp850'    # adapt for other encodings
deg = u'\xb0'.encode(local_encoding)
print deg

또는 인코딩을 명시 적으로 정의하는 소스 파일을 사용하는 경우 :

# -*- 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)

\xb0 (in a string);파이썬을 사용 하면 자동으로 변환됩니다.


You can also use chr(176) to print the degree sign. Here is an example using python 3.6.5 interactive shell:

https://i.stack.imgur.com/spoWL.png

참고URL : https://stackoverflow.com/questions/3215168/how-to-get-character-in-a-string-in-python

반응형