Page 86 - python
P. 86

60




                    พารามิเตอร          คําอธิบาย

                    error                ความผิดพลาดเมื่อพบขอความที่เขารหัสไมได
                                                                     ี
                                         'backslashreplace'     แทนทดวยเครองหมาย backslash
                                                                            ่
                                                                            ื
                                                                     ่
                                                                       
                                         'ignore'               ไมตองสนใจตัวอักษรที่เขารหัสไมได
                                                                                           
                                                                     ี
                                                                       ั
                                         'namereplace'          แทนทตวอกษรดวยคาทีระบุไว
                                                                     ่
                                                                              
                                                                                 ํ
                                                                                    ่
                                                                         ั
                                         'strict'               สรางเหตการณความผดพลาด
                                                                                  ิ
                                                                  
                                                                        ุ
                                         'replace'              แทนที่ดวยเครื่องหมายคําถาม
                                         'xmlcharrefreplace'    แทนที่ดวยตัวอักษร xml

                   ตัวอยางที่ 5.25 การแสดงคาตัวอักษร ASCII ภายใน ascii_letters
                    s = "Informåtion Science"
                    print(s.encode(encoding="ascii",errors="backslashreplace"))
                    print(s.encode(encoding="ascii",errors="ignore"))
                    print(s.encode(encoding="ascii",errors="namereplace"))
                    print(s.encode(encoding="ascii",errors="replace"))
                    print(s.encode(encoding="ascii",errors="xmlcharrefreplace"))
                     print("%s\n%s\n%s\n%s\n%s"%(a,b,c,d,e))


                   ผลลัพธ :
                    b'Inform\\xe5tion Science'
                    b'Informtion Science'

                    b'Inform\\N{LATIN SMALL LETTER A WITH RING ABOVE}tion Science'
                    b'Inform?tion Science'
                    b'Informåtion Science'
                          ตัวอยางที่ 5.25 ประกาศตัวแปร s มคา "Informåtion Science" มีอักขระพิเศษภายในสตริง คือ
                                                        ี
                                                        ี้
                                                                    ํ
                   "å" ตองการเขารหัสขอความเปนรหัสแอสก (ascii) โดยกาหนดความผิดพลาดและการซอมแซมความ
                   ผิดพลาดของตัวอกษรดังนี้ "backslashreplace" คือ เมื่อพบความผิดพลาดใหใสเครื่องหมาย backslash
                                  ั
                                                            ํ
                   ผลลัพธ คือ b'Inform\\xe5tion Science' เมื่อกาหนดความผิดพลาดเปน errors="ignore" จะไมสนใจ
                                                                                       
                   อักขระพิเศษนั้น เมื่อกําหนด errors="namereplace" จะแทนที่สัญลักษณที่ทําใหเกดความผิดพลาดดวย
                                                                                         ิ
                   namereplace ในตัวอยางนี้คือ "\\N{LATIN SMALL LETTER A WITH RING ABOVE" เมื่อกาหนด
                                                                                                    ํ
                                                ื
                                                ่
                   errors="replace" จะแทนดวยเครองหมายคําถาม ผลลัพธ คือ b'Inform?tion Science' และเมื่อกําหนด
                   errors="xmlcharrefreplace" ผลลัพธจะแทนสัญลักษณพิเศษดวยสัญลักษณ XML ผลลัพธ คือ
                   b'Informåtion Science'
   81   82   83   84   85   86   87   88   89   90   91