Mã Hóa Chuỗi trong Python | Laptrinhcanban.com

HOME › >>

Mã Hóa Chuỗi trong Python

Trong lập trình, việc mã hóa chuỗi (string encoding) là một phần quan trọng của xử lý dữ liệu, đặc biệt khi làm việc với dữ liệu văn bản. Mã hóa chuỗi đôi khi là cách chuyển đổi văn bản thành một định dạng thích hợp cho lưu trữ hoặc truyền tải qua mạng. Trong bài viết này, chúng ta sẽ tìm hiểu về cách mã hóa chuỗi trong Python, bao gồm mã hóa ASCII, mã hóa Unicode, mã hóa Base64, và mã hóa Hash.

Mã Hóa ASCII

Mã hóa ASCII (American Standard Code for Information Interchange) là một hệ thống mã hóa chuỗi sử dụng bảng mã để biểu diễn các ký tự. Mã ASCII gồm 128 ký tự, bao gồm chữ cái, số, ký tự đặc biệt và dấu cách. Trong Python, bạn có thể sử dụng hàm ord() để mã hóa một ký tự thành mã ASCII và hàm chr() để giải mã mã ASCII thành ký tự. Ví dụ:

char = 'A'
ascii_code = ord(char)
decoded_char = chr(ascii_code)

print(f"Ký tự '{char}' được mã hóa thành mã ASCII: {ascii_code}")
print(f"Mã ASCII '{ascii_code}' được giải mã thành ký tự: '{decoded_char}'")

Kết quả:

Ký tự 'A' được mã hóa thành mã ASCII: 65
Mã ASCII '65' được giải mã thành ký tự: 'A'

Mã ASCII thường được sử dụng để biểu diễn các ký tự trong các tệp văn bản và trao đổi dữ liệu giữa các hệ thống.

Mã Hóa Unicode

Mã hóa Unicode là một hệ thống mã hóa chuỗi mở rộng hơn so với ASCII, cho phép biểu diễn các ký tự từ nhiều ngôn ngữ và bảng mã khác nhau. Trong Python, chuỗi mặc định là mã hóa Unicode (UTF-8). Unicode hỗ trợ hàng nghìn ký tự và biểu diễn các ngôn ngữ từ khắp nơi trên thế giới. Ví dụ:

text = "你好,世界"
encoded_text = text.encode('utf-8')
decoded_text = encoded_text.decode('utf-8')

print(f"Chuỗi '{text}' được mã hóa thành Unicode: {encoded_text}")
print(f"Unicode '{encoded_text}' được giải mã thành chuỗi: '{decoded_text}'")

Kết quả:

Chuỗi '你好,世界' được mã hóa thành Unicode: b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c'
Unicode 'b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c'' được giải mã thành chuỗi: '你好,世界'

Mã hóa Unicode là quan trọng khi bạn làm việc với ngôn ngữ và văn bản đa ngôn ngữ trong các ứng dụng quốc tế.

Mã Hóa Base64

Mã hóa Base64 là một hệ thống mã hóa chuỗi đặc biệt được sử dụng để biểu diễn dữ liệu nhị phân dưới dạng văn bản. Nó thường được sử dụng để mã hóa dữ liệu nhị phân như hình ảnh hoặc âm thanh để truyền tải dữ liệu qua mạng hoặc lưu trữ trong các tệp văn bản. Trong Python, bạn có thể sử dụng thư viện base64 để mã hóa và giải mã dữ liệu dưới dạng Base64. Ví dụ:

import base64

data = b'Hello, World!'
encoded_data = base64.b64encode(data)
decoded_data = base64.b64decode(encoded_data)

print(f"Dữ liệu ban đầu: {data}")
print(f"Dữ liệu mã hóa Base64: {encoded_data}")
print(f"Dữ liệu giải mã từ Base64: {decoded_data.decode('utf-8')}")

Kết quả:

Dữ liệu ban đầu: b'Hello, World!'
Dữ liệu mã hóa Base64: b'SGVsbG8sIFdvcmxkIQ=='
Dữ liệu giải mã từ Base64: Hello, World!

Mã hóa Base64 đôi khi cần thiết khi bạn muốn chuyển đổi dữ liệu nhị phân thành dạng văn bản có thể truyền tải hoặc lưu trữ dễ dàng hơn.

Mã Hóa Hash

Mã hóa Hash là một hệ thống mã hóa chuỗi mà bạn không thể giải mã. Nó biểu diễn một chuỗi đầu vào bằng một chuỗi hash có độ dài cố định. Hashing thường được sử dụng để bảo mật mật khẩu, xác minh dữ liệu hoặc tạo mã định danh độc nhất cho dữ liệu. Trong Python, bạn có thể sử dụng thư viện hashlib để tạo mã hash. Ví dụ:

import hashlib

data = "Hello, World!"
hashed_data = hashlib.sha256(data.encode()).hexdigest()

print(f"Dữ liệu ban đầu: {data}")
print(f"Mã hash SHA-256: {hashed_data}")

Kết quả:

Dữ liệu ban đầu: Hello, World!
Mã hash SHA-256: d2d0714f1b0b4f25c8a6d5b812747529a8d10990d736eec5

e8cc895be5c88ab8

Mã hash không thể được giải mã để khôi phục dữ liệu ban đầu, nhưng nó cho phép bạn kiểm tra tính toàn vẹn của dữ liệu hoặc xác minh mật khẩu của người dùng một cách an toàn.

Kết Luận

Trên đây Kiyoshi đã hướng dẫn bạn về mã hóa chuỗi trong python rồi. Trong lập trình Python, mã hóa chuỗi là một khía cạnh quan trọng của xử lý dữ liệu, bảo mật và truyền tải thông tin. Chúng ta đã tìm hiểu về cách mã hóa chuỗi sử dụng mã ASCII, mã Unicode, mã Base64 và mã hash. Mỗi loại mã hóa có mục đích và ứng dụng riêng của nó. Hiểu cách sử dụng chúng có thể giúp bạn xử lý dữ liệu một cách hiệu quả và đảm bảo tính bảo mật của ứng dụng của bạn.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/thao-tac-voi-chuoi-string-trong-python/ma-hoa-chuoi-trong-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.