Python chuyển đổi Unicode thành chuỗi thô

Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về các chuỗi thô Python và cách sử dụng chúng để xử lý các chuỗi coi dấu gạch chéo ngược là ký tự chữ

Giới thiệu về chuỗi thô Python

Trong Python, khi bạn đặt trước một chuỗi bằng chữ cái

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
0 hoặc

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
1, chẳng hạn như

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
2 và

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
3, chuỗi đó sẽ trở thành chuỗi thô. Không giống như một chuỗi thông thường, một chuỗi thô coi các dấu gạch chéo ngược [

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
4] là các ký tự bằng chữ

Các chuỗi thô rất hữu ích khi bạn xử lý các chuỗi có nhiều dấu gạch chéo ngược, chẳng hạn như các biểu thức chính quy hoặc đường dẫn thư mục trên Windows

Để biểu thị các ký tự đặc biệt như tab và dòng mới, Python sử dụng dấu gạch chéo ngược [

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
4] để biểu thị sự bắt đầu của chuỗi thoát. Ví dụ

s = 'lang\tver\nPython\t3' print[s]

Code language: Python [python]

đầu ra

lang ver Python 3

Code language: Python [python]

Tuy nhiên, các chuỗi thô coi dấu gạch chéo ngược [

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
4] là một ký tự chữ. Ví dụ

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]

đầu ra

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
0

Một chuỗi thô giống như chuỗi thông thường của nó với dấu gạch chéo ngược [_______04] được biểu thị dưới dạng dấu gạch chéo ngược kép [

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
8]

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
3

Trong một chuỗi thông thường, Python tính một chuỗi thoát là một ký tự đơn

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
4

Tuy nhiên, trong một chuỗi thô, Python tính dấu gạch chéo ngược [_______04] là một ký tự

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
6

Vì dấu gạch chéo ngược [______ 04] thoát khỏi dấu nháy đơn [________ 101] hoặc dấu ngoặc kép [________ 102], một chuỗi thô không thể kết thúc bằng số lẻ dấu gạch chéo ngược

Ví dụ

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
0

Lỗi

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
1

Hoặc

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
2

Lỗi

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
1

Sử dụng chuỗi thô để xử lý đường dẫn tệp trên Windows

Hệ điều hành Windows sử dụng dấu gạch chéo ngược để phân tách các đường dẫn. Ví dụ

lang ver Python 3

Code language: Python [python]
1

Nếu bạn sử dụng đường dẫn này như một chuỗi thông thường, Python sẽ phát sinh một số lỗi

lang ver Python 3

Code language: Python [python]
2

Lỗi

lang ver Python 3

Code language: Python [python]
3

Python coi \u trong đường dẫn là một lối thoát Unicode nhưng không thể giải mã nó

Bây giờ, nếu bạn thoát khỏi dấu gạch chéo ngược đầu tiên, bạn sẽ gặp các sự cố khác

lang ver Python 3

Code language: Python [python]
4

đầu ra

lang ver Python 3

Code language: Python [python]
5

Trong ví dụ này,

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
03 là một tab và

s = r'lang\tver\nPython\t3' print[s]

Code language: Python [python]
04 là dòng mới

Để dễ dàng, bạn có thể biến đường dẫn thành một chuỗi thô như thế này

lang ver Python 3

Code language: Python [python]
6

Chuyển đổi một chuỗi thông thường thành một chuỗi thô

Để chuyển đổi một chuỗi thông thường thành một chuỗi thô, bạn sử dụng hàm repr[] tích hợp sẵn. Ví dụ

lang ver Python 3

Code language: Python [python]
7

đầu ra

lang ver Python 3

Code language: Python [python]
8

Lưu ý rằng chuỗi thô kết quả có trích dẫn ở đầu và cuối chuỗi. Để loại bỏ chúng, bạn có thể sử dụng lát

Làm thế nào chúng ta có thể tạo một chuỗi chuỗi thô?

Chuỗi thô Python được tạo bằng cách tiền tố một chuỗi ký tự bằng 'r' hoặc 'R' . Chuỗi thô Python xử lý dấu gạch chéo ngược [\] dưới dạng ký tự bằng chữ. Điều này hữu ích khi chúng ta muốn có một chuỗi chứa dấu gạch chéo ngược và không muốn nó được coi là một ký tự thoát.

Các chuỗi có phải là Unicode trong Python 3 không?

Kiểu Chuỗi . 0, kiểu str của ngôn ngữ chứa các ký tự Unicode , nghĩa là bất kỳ chuỗi nào được tạo bằng cách sử dụng "đá unicode. " , 'đá unicode. ' hoặc cú pháp chuỗi trích dẫn ba lần được lưu trữ dưới dạng Unicode.

là UTF

Đối với các ký tự được biểu thị bằng mã ký tự ASCII 7 bit, biểu diễn UTF-8 hoàn toàn tương đương với ASCII , cho phép chuyển đổi khứ hồi rõ ràng . Các ký tự Unicode khác được thể hiện bằng UTF-8 theo chuỗi tối đa 6 byte, mặc dù hầu hết các ký tự Tây Âu chỉ yêu cầu 2 byte3.

Chủ Đề