-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmethod_decode.py
More file actions
127 lines (100 loc) · 3.41 KB
/
method_decode.py
File metadata and controls
127 lines (100 loc) · 3.41 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# -- Method String --
# Catatan:
# Semua method/metode/fungsi string mengembalikan nilai baru.
# Mereka tidak mengubah string asli.
# fungsi decode() digunakan untuk mengkonversi dari satu skema pengkodean,
# di mana string argumen dikodekan ke skema encoding/pengkodean yang diinginkan.
# Ini bekerja berlawanan dengan fungsi encode().
# Ia menerima pengkodean string encoding/pengkodean untuk memecahkan kode
# dan mengembalikan string asli.
# Syntax
# string.decode(encoding=encoding, errors=errors)
# Nilai Parameter
# Parameter Deskripsi
# encoding opsional. Menentukan pengkodean atas dasar yang decoding harus dilakukan
# errors opsional. String yang menentukan method kesalahan. Nilai-nilai yang diperbolehkan adalah
# backslashreplace, ignore, namereplace, strict, replace, xmlcharrefreplace
# mengubah objek bytes menjadi string
txt = b"hello world \xe2\x9c\xa8"
print(txt)
# Output:
# b'hello world \xe2\x9c\xa8'
# decode objek bytes menjadi string
print(txt.decode())
# Output:
# hello world ✨
alphabet = "αβγδεζηθικλμνξοπρςστυφχψ"
# menggunakan method encode() untuk mengubah objek string menjadi bytes
alpha_utf_8 = alphabet.encode()
print(alpha_utf_8)
# Output:
# b'\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xce\xb5\xce\xb6\xce\xb7\xce\xb8\xce\xb9\xce\xba\xce\xbb\xce\xbc\xce\xbd\xce\xbe\xce\xbf\xcf\x80\xcf\x81\xcf\x82\xcf\x83\xcf\x84\xcf\x85\xcf\x86\xcf\x87\xcf\x88'
print(alpha_utf_8.decode())
# Output:
# αβγδεζηθικλμνξοπρςστυφχψ
# Contoh-contoh ini menggunakan ascii encoding , dan karakter yang tidak dapat dikodekan,
# menunjukkan hasil dengan kesalahan yang berbeda:
# 'backslashreplace' : Menggunakan backslash bukan karakter yang tidak bisa dikodekan
# 'ignore' : Mengabaikan karakter yang tidak dapat dikodekan
# 'namereplace' : Mengganti karakter dengan teks yang menjelaskan karakter
# 'strict' : Default, memunculkan kesalahan runtime pada kegagalan
# 'replace' : Mengganti karakter dengan tanda tanya
# 'xmlcharrefreplace' : Mengganti karakter dengan karakter xml
# ini hanyalah sebuah contoh sederhana untuk memahaminya.
# dalam tutorial ini parameternya diubah menjadi 'ascii',
# bagaimana cara fungsi decode() bekerja jika karakter string tidak tertangani.
txt = "ålice"
var = txt.encode()
# errors
print(var.decode(encoding="ascii", errors="backslashreplace"))
# Output:
# \xc3\xa5lice
# passed
# print(var.decode(encoding="utf-8", errors="backslashreplace")) # ålice
# ingat perameter dari fungsi decode() opsional di tulis atau tidak, defaultnya utf-8.
txt = "ålice"
var = txt.encode()
# errors
print(var.decode("ascii", "ignore"))
# Output:
# lice
# passed
# print(var.decode("utf-8", "ignore")) # ålice
txt = "ålice"
var = txt.encode()
# errors
print(var.decode("ascii", "replace"))
# Output:
# ��lice
# passed
# print(var.decode()) # ålice
txt = "ålice"
var = txt.encode()
# errors
print(var.decode("latin", "namereplace"))
# Output:
# ålice
# passed
print(var.decode())
# Output:
# ålice
txt = "ålice"
var = txt.encode()
# errors
print(var.decode("latin", "xmlcharrefreplace"))
# Output:
# ålice
# passed
print(var.decode())
# Output:
# ålice
txt = "ålice"
var = txt.encode()
# passed
print(var.decode("latin", "strict"))
# Output:
# ålice
# errors
print(var.decode("ascii", "strict"))
# Output:
# kesalahan runtime Traceback UnicodeEncodeError