-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmethod_encode.py
More file actions
88 lines (70 loc) · 3.38 KB
/
method_encode.py
File metadata and controls
88 lines (70 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# -- Method String --
# https://docs.python.org/3/library/stdtypes.html?highlight=encode#str.encode
# https://docs.python.org/3/library/codecs.html#standard-encodings
# Catatan:
# Semua method/metode/fungsi string mengembalikan nilai baru.
# Mereka tidak mengubah string asli.
# fungsi encode() mengkodekan string, menggunakan pengkodean tertentu.
# Jika tidak ada pengkodean yang ditentukan, secara default UTF-8 akan digunakan.
# Syntax
# string.encode(encoding=encoding, errors=errors)
# Nilai Parameter
# Parameter Deskripsi
# encoding opsional. String yang menentukan pengkodean yang akan digunakan. Standarnya adalah UTF-8
# errors opsional. String yang menentukan method kesalahan. Nilai-nilai yang diperbolehkan adalah
# backslashreplace, ignore, namereplace, strict, replace, xmlcharrefreplace
nama1 = "alice"
print(nama1.encode())
# Output:
# b'alice'
nama2 = "ålice"
print(nama2.encode())
# Output:
# b'\xc3\xa5lice'
# pelajari lebih lanjut tentang decode() folder_name: "Method-String/method_decode.py"
print(b'\xc3\xa5lice'.decode()) # ålice
# Contoh-contoh ini menggunakan ascii encoding , dan karakter yang tidak dapat dikodekan,
# menunjukkan hasil dengan kesalahan yang berbeda:
# strict (default) : menimbulkan pengecualian UnicodeError pada kegagalan
# backslashreplace : karakter yang tidak dapat dikodekan diganti dengan garis miring terbalik
# ignore : karakter yang tidak dapat dikodekan diabaikan
# namereplace : karakter yang tidak dapat dikodekan diganti dengan namanya
# replace : karakter yang tidak dapat dikodekan diganti dengan tanda tanya
# xmlcharrefreplace : karakter yang tidak dapat dikodekan diganti dengan karakter xml
# surrogateescape : karakter yang tidak dapat diwakili dalam encoding yang digunakan saat ini.
# karakter yang tidak dapat dikodekan diganti dengan garis miring terbalik
txt1 = "ålice"
print(txt1.encode(encoding="ascii",errors="backslashreplace"))
# Output:
# b'\\xe5lice'
# karakter yang tidak dapat dikodekan diabaikan
txt2 = "ålice"
print(txt2.encode(encoding="ascii",errors="ignore"))
# Output:
# b'lice'
# karakter yang tidak dapat dikodekan diganti dengan namanya
txt3 = "ålice"
print(txt3.encode(encoding="ascii",errors="namereplace"))
# Output:
# b'\\N{LATIN SMALL LETTER A WITH RING ABOVE}lice'
# karakter yang tidak dapat dikodekan diganti dengan tanda tanya
txt4 = "ålice"
print(txt4.encode(encoding="ascii",errors="replace"))
# Output:
# b'?lice'
# karakter yang tidak dapat dikodekan diganti dengan karakter xml
txt5 = "ålice"
print(txt5.encode(encoding="ascii",errors="xmlcharrefreplace"))
# Output:
# b'ålice'
# karakter yang tidak dapat diwakili dalam encoding yang digunakan saat ini.
print(txt1.encode(encoding="utf-8",errors="surrogateescape")) # b'\xc3\xa5lice'
print(txt2.encode(encoding="utf-8",errors="surrogateescape")) # b'\xc3\xa5lice'
print(txt3.encode(encoding="utf-8",errors="surrogateescape")) # b'\xc3\xa5lice'
print(txt4.encode(encoding="utf-8",errors="surrogateescape")) # b'\xc3\xa5lice'
print(txt5.encode(encoding="utf-8",errors="surrogateescape")) # b'\xc3\xa5lice'
# menimbulkan pengecualian(exception) UnicodeError pada kegagalan
txt7 = "ålice"
print(txt7.encode(encoding="ascii",errors="strict"))
# Output:
# kesalahan runtime Traceback UnicodeEncodeError