>  기사  >  백엔드 개발  >  Python 학습의 문자 인코딩 및 문자열에 대한 간략한 토론

Python 학습의 문자 인코딩 및 문자열에 대한 간략한 토론

青灯夜游
青灯夜游앞으로
2018-10-29 17:54:151666검색

이 기사에서는 Python 학습의 문자 인코딩과 문자열에 대해 간략하게 설명합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

문자 인코딩이란 무엇인가요?

예를 들어 한자 ""은 다음과 같이 나타낼 수 있습니다. 다음

십진수: 20013

바이너리: 01001110 00101101(uni 코드)/11100100 10111000 10101101(utf-8)

Hex: u4e2d

ascii 인코딩

#🎜 🎜 ## 🎜🎜#
    ASCII
  • 인코딩은

    1바이트

  • 순수한 영어만 인코딩 가능

  • 공간 절약

    #🎜🎜 #

  • unicode 인코딩

Unicode
    인코딩은 일반적으로
  • #🎜 🎜 #2

    바이트. (예를 들어 ASCII로 인코딩된 문자 A은 10진수 65, 2진수 01000001; #🎜 🎜 #AUnicode 인코딩은 00000000 01000001 ) 입니다. #🎜 🎜 #uicode 인코딩 통합, 인코딩 충돌 해결, 잘못된 코드 문제 사라짐

  • 🎜🎜#은 ascii보다 하나 더 많습니다. 저장 공간, 저장 및 전송이 비용 효율적이지 않을 때가 있습니다. (

    UTF-8
  • solve
  • )#🎜🎜 ## 🎜🎜#utf-8 인코딩(가변 길이 유니코드 인코딩)UTF-8Encoding은

    #을 넣습니다. 🎜🎜#Unicode
문자는 숫자 크기에 따라

1-6

바이트로 인코딩되며 일반적으로 사용되는 영문자는

1바이트, 한자는 일반적으로 3바이트이며 매우 흔하지 않은 문자만 인코딩됩니다. 4-6바이트. CharacterASCII유니코드#🎜 🎜 에디토리얼 🎜🎜#01000001#🎜 🎜#

中#🎜 🎜#

1) 전송하려는 텍스트에 많은 수의 영어 문자가 포함되어 있는 경우 UTF-8으로 인코딩하면 공간을 절약할 수 있습니다. #🎜🎜 #2) ASCII
인코딩은 실제로

UTF-8 인코딩의 일부로 간주될 수 있으므로 큰 숫자만 #🎜 🎜#ASCII 기존 레거시 소프트웨어는 UTF-8 인코딩에서 계속 작동할 수 있습니다. 컴퓨터 시스템의 범용 문자 인코딩 작업 방법:

메모리: 통합unicode# 🎜🎜#인코딩

하드디스크, 전송: utf-8

웹서핑 시 , 서버는 동적으로 생성된 Unicode 콘텐츠를

UTF-8으로 변환한 후 브라우저로 전송합니다. ### ## ## ## ## #####Python 문자열#### ## ## ## #####관련 함수#🎜 🎜#ord()

Function

문자 가져오기 정수 표현(단일 문자) 인수는 연산할 단일 문자이며 정수가 반환됩니다.

chr()Function

    인코딩을 해당 인코딩으로 변환합니다. 문자(단일 문자)
  • encode() 함수

  • ,
  • str 문자열을 지정된 인코딩 방법(매개변수)으로 bytes#🎜🎜 #으로 변경합니다.

  • 'str'.encode
  • (

    ascii/utf-8) 반환 바이트 Stringascii

    을 사용한 중국어 인코딩은 오류를 보고합니다
# 🎜🎜#

decode()Function디코딩 bytes# 네트워크 또는 디스크에서 읽은 🎜 🎜#은 str

'bytes'.decode(ascii/utf-8)는 지정된 인코딩 방법(매개변수)으로 str 문자열을 반환합니다. #🎜🎜 #bytes를 디코딩할 수 없으며 오류가 보고됩니다. bytes에 잘못된 바이트 수가 적은 경우

errors를 전달할 수 있습니다. ='ignore'
    잘못된 바이트 무시
  • >>> b'xe4xb8xadxff'.decode('utf-8', 오류='ignore') '中'# 🎜🎜#len()Function

    은 string#🎜🎜 len(b'ABC') 3 len(b'xe4xb8xadxe6x96x87') 6 ; len('중국어'.encode('utf-8')) 6

In 최신

Python 3

버전에서는 # 🎜🎜#Unicode으로 시작하는 문자열, 즉 #🎜 문자열이 인코딩됩니다. 🎜#Python은 여러 언어를 지원합니다

Python
    의 문자열 유형은
  • str,

    입니다. 네트워크를 통해 전송하거나 디스크에 저장하려면 str# 🎜🎜#이 bytes이 되어야 합니다.

    >>문자 깨짐을 방지하려면 항상 UTF-8 인코딩을 사용해야 합니다.
str

#🎜🎜 #

bytes을 변환하여 <<#🎜 🎜## 🎜🎜#str과 바이트의 차이점

  • 1) str의 한 문자는 여러 바이트, 에 해당하지만 bytes의 각 문자는 1바이트만 차지합니다. (다중 바이트 문자를 단일 바이트 다중 문자로 분해)

>>> 'ABC'.encode('ascii') b'ABC' >>> ('utf-8') b'xe4xb8xadxe6x96x87'

bytes에서는 ASCII 문자로 표시할 수 없는 바이트는 x##로 표시됩니다.

  • 2) bytes 문자는 접두사와 따옴표로 묶입니다.

.py 파일에는 중국어 문자가 포함되어 있으며 utf-8로 인코딩되어야 합니다

#!/usr/bin/env python3 # -*- 코딩: utf -8 -*-

첫 번째 주석 줄은 Linux/OS에 알리는 것입니다. 두 번째 주석 줄은 Python 인터프리터에게 UTF-8에 따라 소스 코드를 읽도록 알리는 것입니다. 그렇지 않으면 소스 코드에 작성한 중국어 출력이 깨질 수 있습니다. >>

편집자는 BOM s' % 'world' 'Hello, world' >>> '안녕하세요, %s, $%d' 없이

UTF-8을 사용합니다. ('Michael', 1000000) '안녕하세요, Michael, 당신은 $1000000를 가지고 있습니다.'% operator

은 문자열 형식을 지정하는 데 사용됩니다. 문자열 내부에는 여러 개의 %? 자리 표시자가 있고 그 뒤에는 여러 변수나 값이 있으며 순서가 정확해야 합니다. %? 하나만 있는 경우에는 괄호를 생략할 수 있습니다.

Escape, %%를 사용하여

%

>>> '성장률: %d %%' % 7 '성장률: 7%'

    자리 표시자
  • 콘텐츠 바꾸기%d정수

  • %f부동 소수점

  • %s

string

x 01001110 00101101 11100100 10111000 10101101
%x 16진수 정수 format()문자열의 형식을 지정하는 또 다른 방법은 문자열의 메서드를 사용하는 것입니다. 이 메서드는 문자열의 자리 표시자를 전달된 매개변수로 차례로 기호 , {로 바꿉니다. 1}..., 그런데 이 쓰기 방식은 %:
format(){0}
>>> '안녕하세요, {0}님, 점수 향상 {1:.1f}%'보다 훨씬 더 번거롭습니다. format('Xiao Ming', 17.125) '안녕하세요 샤오밍님, 점수가 17.1% 향상되었습니다'

위 내용은 Python 학습의 문자 인코딩 및 문자열에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제