Để 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ộ và á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