ASCII. ASCII là từ viết tắt của American Standard Code for Information Interchange. Một giá trị số cụ thể được trao cho các ký tự và ký hiệu khác nhau để máy tính lưu trữ và thao tác trong ASCII
Nó phân biệt chữ hoa chữ thường. Cùng một ký tự, có định dạng khác nhau [chữ hoa và chữ thường] thì có giá trị khác nhau. Ví dụ: Giá trị ASCII của "A" là 65 trong khi giá trị ASCII của "a" là 97
ví dụ 1
đầu ra
1#
Please enter a character: J The ASCII value of 'J' is 74
2#
Please enter a character: $ The ASCII value of '$' is 36
Trong đoạn mã trên, chúng ta đã sử dụng hàm ord[] để chuyển đổi một ký tự thành một số nguyên, nghĩa là giá trị ASCII. Hàm này được sử dụng để trả về điểm mã Unicode của ký tự đã cho
ví dụ 2
đầu ra
Please enter the String: "JavaTpoint# " 34 J 74 a 97 v 118 a 97 T 84 p 112 o 111 i 105 n 110 t 116 # 35
Unicode cũng là một kỹ thuật mã hóa được sử dụng để lấy số duy nhất của ký tự. Mặc dù ASCII chỉ có thể mã hóa 128 ký tự, trong khi Unicode hiện tại có thể mã hóa hơn 100.000 ký tự từ hàng trăm tập lệnh
Chúng ta cũng có thể chuyển đổi giá trị ASCII thành giá trị ký tự tương ứng của chúng. Để làm được điều đó, chúng ta phải sử dụng chr[] thay cho ord[] trong đoạn mã trên
ví dụ 3
đầu ra
The character value of 'K' ASCII value is: The character value of 'J' ASCII value is: { The character value of 'R' ASCII value is: L
Phần kết luận
Trong hướng dẫn này, chúng ta đã thảo luận về cách người dùng có thể chuyển đổi giá trị ký tự thành giá trị ASCII và cả cách họ có thể lấy giá trị ký tự của giá trị ASCII đã cho
Hàm ascii[] của python trả về một chuỗi chứa biểu diễn có thể in được của một đối tượng và thoát khỏi các ký tự không phải ASCII trong chuỗi bằng cách sử dụng các ký tự thoát \x, \u hoặc \U
Chữ ký
Thông số
vật. Nó nhận một đối tượng như chuỗi, danh sách, v.v.
Trở lại
Nó trả về một phiên bản có thể đọc được của một đối tượng và thay thế các ký tự không phải ascii bằng ký tự thoát
Hàm ascii[] trong Python Ví dụ 1
Hãy xem ascii[] hoạt động như thế nào đối với danh sách?
đầu ra
'Python is interesting' 'Pyth\xf6n is interesting' Pyth�n is interesting
Giải trình. Trong ví dụ trên, các biến như normalText và otherText chứa các giá trị chuỗi và trả về giá trị ascii của một biến cụ thể
Có hàng chục nếu không muốn nói là hàng trăm mã hóa ký tự. Trong bài học này, bạn sẽ bắt đầu khám phá một trong những bảng mã ký tự đơn giản nhất, ASCII. Đây là một nơi tốt để bắt đầu tìm hiểu về mã hóa ký tự vì ASCII là một bảng mã nhỏ và có chứa
Mô-đun Python string
tích hợp bao gồm một số hằng phân loại văn bản ASCII. Bạn sẽ sử dụng các hằng số string
này để xác định các bộ ký tự, chẳng hạn như string.ascii_letters
, string.digits
, string.whitespace
và
Please enter a character: $ The ASCII value of '$' is 360
00. 00 Ở bài trước mình đã giới thiệu với các bạn về ký tự, điểm ký tự và bảng mã của nó. Trong bài học này, tôi sẽ đi sâu hơn vào ASCII và sự hỗ trợ của nó trong mô-đun Python string
00. 10 ASCII đã trở thành một trong những tiêu chuẩn phổ biến nhất để mã hóa vì nó đã được PC sử dụng từ rất sớm. ASCII chỉ mã hóa bảng chữ cái Latinh cơ bản. Không có ký tự có dấu. Mã hóa ban đầu là 7 bit, do đó có tổng cộng 128 ký tự và nó có thể được chia thành một loạt các nhóm
00. 28 32 ký tự đầu tiên là ký tự điều khiển. Chúng không in được. Chúng bao gồm những thứ như điều khiển máy in, âm thanh chuông và trả về vận chuyển. Đoạn tiếp theo là khoảng trắng, một loạt ký hiệu và số
00. 42 Sau đó là chữ in hoa, một vài ký hiệu khác, chữ thường, một vài ký hiệu khác và cuối cùng là ký tự xóa. ASCII ban đầu là mã hóa 7 bit và do đó, nó đã đi từ 0 đến 127. PC đã sử dụng byte 8 bit, do đó, đôi khi, bit thứ 8 hàng đầu được sử dụng để kiểm tra tính chẵn lẻ trong quá trình truyền
01. 04 Không mất nhiều thời gian để nhận ra rằng ASCII không đủ để xử lý các loại ngôn ngữ khác. Các ký tự có dấu cho ngôn ngữ Latinh và tiếng Đức đã được thêm vào bằng cách mở rộng ASCII để sử dụng 8 bit đầy đủ. Đây không phải là phần mở rộng duy nhất
01. 17 Một cái khác được gọi là Latin-1. Latin-1 sau đó được Microsoft sửa đổi để tạo Windows-1252. Latin-1 và 1252 rất, rất gần nhau, điều này gây ra đủ loại vấn đề vì có vẻ như bạn có thể hoán đổi chúng cho nhau, nhưng thỉnh thoảng, bạn sẽ gặp phải sự khác biệt về ký tự
01. 36 Nếu bạn đang thắc mắc tại sao tôi lại dành quá nhiều thời gian cho ASCII khi đây là khóa học về Unicode, thì hóa ra Unicode, Latin-1, Windows-1252—tất cả chúng đều sử dụng 128 điểm mã đầu tiên từ ASCII
01. 50 Vì vậy, nếu bạn đang gắn bó với các ký tự mà tôi đã mô tả trong màn hình trước, thì mã hóa sẽ tương thích với cả bốn tiêu chuẩn này. Mặc dù Unicode đang nhanh chóng trở thành bảng mã thực tế, nhưng do lịch sử, bạn vẫn thường xuyên gặp phải các bảng mã khác
02. 06 Web là một trong những nơi đó. Latin-1 là mã hóa mặc định ban đầu cho các tài liệu được gửi qua HTTP. Bất kỳ thứ gì có loại MIME là
Please enter a character: $ The ASCII value of '$' is 362, trừ khi bạn chỉ định khác, đều đang sử dụng Latin-1
02. 19 Tất nhiên, các tiêu chuẩn không phải lúc nào cũng chuẩn như vậy, vì vậy tùy thuộc vào máy chủ web bạn đang sử dụng và trình duyệt bạn đang sử dụng, sẽ có những khác biệt nhỏ đối với điều này. Để giải quyết vấn đề này, các trình duyệt cố gắng đoán mã hóa. Điều này hoạt động với mức độ thành công khác nhau, mặc dù chúng đã trở nên tốt hơn nhiều trong thời gian gần đây. Những lập trình viên cũ như tôi đã từng dành rất nhiều thời gian cho Slashdot. Nếu chưa biết thì đây là website tổng hợp tin tức công nghệ. Nó đã có từ năm 1997 và tôi khá chắc chắn rằng một số mã trong đó vẫn là mã gốc. Nó nổi tiếng là không hỗ trợ Unicode, và bạn có thể thấy điều này trong một bình luận mà tôi đã cắt ở đây
02. 58 Điều này không phải do một con mèo chạy ngang qua bàn phím của người này—điều này là do dấu nháy đơn đã được diễn giải theo một cách mã hóa khác và bạn nhận được cả đống rác thay vì ý định của người đăng
03. 10 Bạn không còn thấy chúng thường xuyên nữa, nhưng vào đầu những năm 2000, các trang web thường tràn ngập những dấu chấm hỏi và khối nhỏ này. Trước khi các trình duyệt đoán mã hóa tốt hơn, đây là ký tự được hiển thị nếu ký tự trên trang không thể hiển thị trong mã hóa hiện tại của trình duyệt. Rất may, vấn đề này hầu như đã được giải quyết ngay bây giờ. Mô-đun Python string
xác định toàn bộ các hằng số hữu ích để xem ASCII. Chúng ta hãy xem một vài trong số họ
03. 36 string.whitespace
xác định tab, dòng mới và các ký tự khác là ký tự khoảng trắng. string
0 và string
1 hiển thị các chữ cái trong bảng chữ cái
03. 46 string
2 là sự kết hợp của hai. string
3 là những con số. string
4 là các số cộng với một vài ký tự đầu tiên bằng chữ thường hoặc chữ hoa. string
5 là tám số đầu tiên. string
6 biểu tượng
04. 02 Và cuối cùng, string
7 hiển thị tất cả những điều này được kết hợp
04. 08 Hãy mở REPL và xem xét điều này trong thực tế. Tôi sẽ đến string
8 để có thể truy cập vào những hằng số mà tôi vừa chỉ cho bạn. Nhập câu hỏi
04. 20 Bây giờ, giả sử bạn muốn kéo dấu câu và dấu cách ra khỏi phía bên tay phải. Phương thức string
9 sẽ kéo các ký tự ra khỏi chuỗi
04. 28 Nếu bạn chuyển các giá trị cho string
9, nó sẽ cho nó biết cần kéo những ký tự nào. Việc chuyển vào
Please enter a character: $ The ASCII value of '$' is 360 và
string.whitespace
sẽ kéo tất cả các dấu chấm hỏi, dấu chấm than và khoảng cách giữa chúng ra khỏi phía bên phải của chuỗi đó04. 45 Bạn có thể sử dụng phương pháp string.ascii_letters
3 để xem một giá trị có phải là ASCII hay không
04. 51 Bạn có thể sử dụng phương pháp string.ascii_letters
4 để xem nó có chứa các ký tự in được hay không. Một lời cảnh báo. string.ascii_letters
4 không thực sự sử dụng string
7, vì vậy có một sự khác biệt nhỏ giữa hai
05. 06 string.ascii_letters
4 trên string.ascii_letters
8 là string.ascii_letters
9, mặc dù string
7 bao gồm các ký tự tab và dòng mới
05. 13 Điều này là do string.ascii_letters
4 là một phương thức cũ hơn cho bạn biết liệu một thứ gì đó có thể in được trong biểu diễn string.digits
2 hay không. Biểu diễn string.digits
2 đó không thực sự bao gồm các tab và dòng mới, vì vậy bạn rơi vào tình huống kỳ lạ khi string
7—bao gồm các ký tự đó—
05. 33 không in được. Trước khi đào sâu vào Unicode và cách nó được biểu diễn, bạn sẽ cần một chút kiến thức về khoa học máy tính. Vì vậy, trong phần tiếp theo, tôi sẽ xem lại các biểu diễn bit, byte, bát phân và hex