Mã hóa chuỗi python []
Chức năng Python String Encode [] được sử dụng để mã hóa chuỗi bằng mã hóa được cung cấp. Hàm này trả về đối tượng byte. Nếu chúng tôi không cung cấp mã hóa, mã hóa UTF-8 được sử dụng làm mặc định.
Python Byte Decode []
Hàm giải mã byte python [] được sử dụng để chuyển đổi byte thành đối tượng chuỗi. Cả hai chức năng này cho phép chúng tôi chỉ định sơ đồ xử lý lỗi để sử dụng cho các lỗi mã hóa/giải mã. Mặc định là ‘nghiêm ngặt có nghĩa là các lỗi mã hóa làm tăng một unicodeEncodeError. Một số giá trị có thể khác là ‘bỏ qua,‘ thay thế và ‘xmlcharrefreplace. Chúng ta hãy xem xét một ví dụ đơn giản về các hàm giải mã [] [] Chuỗi [] Chuỗi [].
str_original = 'Hello'
bytes_encoded = str_original.encode[encoding='utf-8']
print[type[bytes_encoded]]
str_decoded = bytes_encoded.decode[]
print[type[str_decoded]]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
Output:
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
Ví dụ trên không thể hiện rõ ràng việc sử dụng mã hóa. Hãy cùng xem xét một ví dụ khác, nơi chúng tôi sẽ nhận được đầu vào từ người dùng và sau đó mã hóa nó. Chúng tôi sẽ có một số ký tự đặc biệt trong chuỗi đầu vào được nhập bởi người dùng.
str_original = input['Please enter string data:\n']
bytes_encoded = str_original.encode[]
str_decoded = bytes_encoded.decode[]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
Đầu ra:
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tôi.
Tham khảo: str.encode [] API Doc, byte.decode [] API Doc
Cải thiện bài viết
Lưu bài viết
Decode [] là một phương thức được chỉ định trong các chuỗi trong Python 2. Phương thức này được sử dụng để chuyển đổi từ một sơ đồ mã hóa, trong đó chuỗi đối số được mã hóa thành sơ đồ mã hóa mong muốn. Điều này hoạt động đối diện với mã hóa. Nó chấp nhận mã hóa của chuỗi mã hóa để giải mã nó và trả về chuỗi gốc.
This method is used to convert from one encoding scheme, in which argument string is encoded to the desired encoding scheme. This works opposite to the encode. It accepts the encoding of the encoding string to decode it and returns the original
string.
Cú pháp: Giải mã [mã hóa, lỗi]decode[encoding, error]
Các tham số: Mã hóa: Chỉ định mã hóa trên cơ sở giải mã phải được thực hiện.Error: Quyết định cách xử lý các lỗi nếu chúng xảy ra, ví dụ: ’nghiêm ngặt làm tăng lỗi Unicode trong trường hợp ngoại lệ và‘ bỏ qua các lỗi đã xảy ra.
encoding : Specifies the encoding on the basis of which decoding has to be performed.
error : Decides how to handle the errors if they occur, e.g ‘strict’ raises Unicode error in case of exception and ‘ignore’ ignores the errors occurred.Trả về: Trả về chuỗi gốc từ chuỗi được mã hóa. Returns the original string from the encoded string.
& nbsp; mã số 1: mã để giải mã chuỗi
Code #1 : Code to decode the string
str
=
"geeksforgeeks"
‘
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
8
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
9
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6 str_original = input['Please enter string data:\n']
bytes_encoded = str_original.encode[]
str_decoded = bytes_encoded.decode[]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
1
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7str_original = input['Please enter string data:\n']
bytes_encoded = str_original.encode[]
str_decoded = bytes_encoded.decode[]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
4
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
9
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6 str_original = input['Please enter string data:\n']
bytes_encoded = str_original.encode[]
str_decoded = bytes_encoded.decode[]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
7
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
4str_original = input['Please enter string data:\n']
bytes_encoded = str_original.encode[]
str_decoded = bytes_encoded.decode[]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
9Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
0Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
1Output:
The encoded string in base64 format is : Z2Vla3Nmb3JnZWVrcw== The decoded string is : geeksforgeeks
Ứng dụng: Mã hóa và giải mã cùng nhau có thể được sử dụng trong các ứng dụng đơn giản lưu trữ mật khẩu ở phía sau và nhiều ứng dụng khác như mật mã liên quan đến việc giữ bí mật thông tin. Một minh chứng nhỏ của ứng dụng mật khẩu được mô tả dưới đây.
Encoding and decoding together can be used in the simple applications of storing passwords in the back end and many other applications like cryptography which deals with keeping the information confidential.
A small demonstration of the password application is depicted below.
& NBSP; Mã số 2: Mã để chứng minh ứng dụng mã hóa mã hóa
Code #2 : Code to demonstrate application of encode-decode
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
2=
"geeksforgeeks"
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
5=
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
7Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
5=
The encoded string in base64 format is : Z2Vla3Nmb3JnZWVrcw== The decoded string is : geeksforgeeks0
The encoded string in base64 format is : Z2Vla3Nmb3JnZWVrcw== The decoded string is : geeksforgeeks1
str_original = input['Please enter string data:\n']
bytes_encoded = str_original.encode[]
str_decoded = bytes_encoded.decode[]
print['Encoded bytes =', bytes_encoded]
print['Decoded String =', str_decoded]
print['str_original equals str_decoded =', str_original == str_decoded]
9Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
0____15The encoded string in base64 format is : Z2Vla3Nmb3JnZWVrcw== The decoded string is : geeksforgeeks5
=
"geeksforgeeks"
The encoded string in base64 format is : Z2Vla3Nmb3JnZWVrcw== The decoded string is : geeksforgeeks8
=
"geeksforgeeks"
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!3
Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!4
Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!5
Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!6
Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!7
=
__str
5
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7str
8str
9=
0 =
1
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7=
4str
9
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6=
7=
8str
9"geeksforgeeks"
0__
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True
7
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!3
Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!4
"geeksforgeeks"
7Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!6
"geeksforgeeks"
9=
__str
5
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7str
8str
9=
0
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
03str
5
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
6
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True
7=
4str
9Output:
Password entered : geeksforgeeks Wrong Password!! Password entered : i_lv_coding You are logged in!!