Computer >> Máy Tính >  >> Lập trình >> Python

Chuẩn bị chuỗi Internet Python

Để xác định những thứ khác nhau trên internet, cần phải so sánh các nhận dạng khác nhau để có sự bình đẳng. Quy trình so sánh phụ thuộc vào miền ứng dụng. Ví dụ:một số thứ không phân biệt chữ hoa chữ thường, v.v. Để kiểm tra loại thông tin này, hãy stringprep được sử dụng.

RFC 3454 xác định quy trình chuẩn bị các chuỗi Unicode trước khi truyền qua dây. Sau khi trải qua quy trình chuẩn bị, chúng có một hình thức chuẩn hóa nhất định.

RFC định nghĩa một tập hợp các bảng; các bảng này có thể được kết hợp thành hồ sơ. Ví dụ, có một cấu hình của stringprep là nameprep . Trong nameprep , có những tên miền quốc tế hóa

Có hai loại bảng, bộ ánh xạ . Nếu một ký tự hiện diện trong bảng thiết lập, nó sẽ trả về true, ngược lại là false. Đối với bảng ánh xạ, khi khóa được truyền, nó sẽ trả về giá trị được liên kết.

Để sử dụng mô-đun này, chúng tôi cần nhập stringprep mô-đun trong mã của chúng tôi.

import stringprep

Các bảng stringprep là -

Sr.No. Bảng &Mô tả
1

stringprep.in_table_a1 (mã)

Nó là các điểm mã không dấu trong Unicode 3.2

2

stringprep.in_table_b1 (mã)

Nó thường được ánh xạ tới không.

3

stringprep.in_table_b2 (mã)

Trả lại giá trị được ánh xạ cho mã cho bảng B.2. Lập bản đồ cho việc gấp chữ NFKC.

4

stringprep.in_table_b3 (mã)

Lập bản đồ gấp chữ hoa mà không cần chuẩn hóa.

5

stringprep.in_table_c11 (mã)

Ký tự khoảng trắng ASCII

6

stringprep.in_table_c12 (mã)

Các ký tự Space không phải ASCII

7

stringprep.in_table_c11_c12 (mã)

Kết hợp các ký tự Dấu cách ASCII và không phải ASCII

8

stringprep.in_table_c21 (mã)

Các ký tự điều khiển ASCII

9

stringprep.in_table_c22 (mã)

Các ký tự điều khiển không phải ASCII

10

stringprep.in_table_c21_c22 (mã)

Sự kết hợp của các ký tự điều khiển ASCII và không phải ASCII

11

stringprep.in_table_c3 (mã)

Các ký tự sử dụng riêng

12

stringprep.in_table_c4 (mã)

Điểm mã không phải ký tự

13

stringprep.in_table_c5 (mã)

Mã đại diện

14

stringprep.in_table_c6 (mã)

Không phù hợp với các ký tự văn bản thuần túy

15

stringprep.in_table_c7 (mã)

Không thích hợp cho đại diện chính tắc

16

stringprep.in_table_c8 (mã)

Hiển thị mã thay đổi thuộc tính

17

stringprep.in_table_c9 (mã)

Gắn thẻ các ký tự

18

stringprep.in_table_d1 (mã)

Các ký tự có thuộc tính hai chiều ‘R’ và ‘AL’.

19

stringprep.in_table_d2 (mã)

Các ký tự có thuộc tính hai chiều ‘L’.

Mã mẫu

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

Đầu ra

True
True
False