Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 인터넷 문자열 준비

<시간/>

인터넷에서 서로 다른 것을 식별하려면 서로 다른 식별을 비교하여 평등성을 부여해야 합니다. 비교 절차는 애플리케이션 도메인에 따라 다릅니다. 예를 들어, 일부 항목은 대소문자를 구분하지 않습니다. 이러한 종류의 정보를 확인하려면 stringprep 사용됩니다.

RFC 3454는 유선을 통해 전송하기 전에 유니코드 문자열을 준비하는 절차를 정의합니다. 준비과정을 거치면 일정한 형태를 갖게 됩니다.

RFC는 테이블 세트를 정의합니다. 이러한 테이블을 프로필로 결합할 수 있습니다. 예를 들어 stringprep의 프로필은 nameprep입니다. . nameprep에서 , 국제화된 도메인 이름이 있습니다.

세트라는 두 가지 종류의 테이블이 있습니다. 및 매핑 . 세트 테이블에 하나의 문자가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 매핑 테이블의 경우 키가 전달되면 연결된 값을 반환합니다.

이 모듈을 사용하려면 stringprep을 가져와야 합니다. 코드의 모듈입니다.

import stringprep

stringprep 테이블은 -

시니어 번호 표 및 설명
1

stringprep.in_table_a1(코드)

유니코드 3.2의 부호 없는 코드 포인트입니다.

2

stringprep.in_table_b1(코드)

일반적으로 아무것도 매핑되지 않습니다.

3

stringprep.in_table_b2(코드)

코드에 대한 매핑된 값을 표 B.2에 반환합니다. NFKC 케이스 폴딩을 위한 매핑.

4

stringprep.in_table_b3(코드)

정규화 없이 대소문자 접기를 매핑합니다.

5

stringprep.in_table_c11(코드)

ASCII 공백 문자

6

stringprep.in_table_c12(코드)

ASCII가 아닌 공백 문자

7

stringprep.in_table_c11_c12(코드)

ASCII 및 비ASCII 공백 문자 조합

8

stringprep.in_table_c21(코드)

ASCII 제어 문자

9

stringprep.in_table_c22(코드)

비 ASCII 제어 문자

10

stringprep.in_table_c21_c22(코드)

ASCII 및 비ASCII 제어 문자 조합

11

stringprep.in_table_c3(코드)

개인용 캐릭터

12

stringprep.in_table_c4(코드)

문자가 아닌 코드 포인트

13

stringprep.in_table_c5(코드)

대리 코드

14

stringprep.in_table_c6(코드)

일반 텍스트 문자에 적합하지 않음

15

stringprep.in_table_c7(코드)

표준 표현에 부적절

16

stringprep.in_table_c8(코드)

속성 변경 코드 표시

17

stringprep.in_table_c9(코드)

캐릭터 태깅

18

stringprep.in_table_d1(코드)

'R' 및 'AL' 양방향 속성이 있는 문자.

19

stringprep.in_table_d2(코드)

'L' 양방향 속성이 있는 문자입니다.

예시 코드

import stringprep as sp
print('\u0020') #The space character
print(sp.in_table_c11('\u0020')) #It is inside the ASCII space characters
print(sp.in_table_d2('L')) #Letter L has bidirectional property from left to right
print(sp.in_table_d1('L')) #Letter L has no bidirectional property for right to left

출력

True
True
False