วิธีการแปลงจาก hex เป็นอักษร(char) ในภาษา swift

พอดีผมมีงานที่ต้องมีการใช้การแปลงจากเลขฐาน 16 หรือเรียกย่อๆว่า hex ไปเป็นตัวอักษรหรือ char จากการค้นหาข้อมูลจึงได้วิธีการดังนี้

ซึ่งเป็นฟังก์ชันในการแปลง เมื่อทดสอบการใช้งาน

เลขฐาน 16 คือ

31A1A131323334

ค่าที่ควรจะแปลงได้ “1กก1234

แต่เมื่อรันจากฟังก์ชันข้างต้นจะได้ผลเป็น 1¡¡1234 ซึ่งจะเห็นได้ว่าผิดตรงตัวอักษรภาษาไทย เนื่องจากว่าในภาษา swift ไม่รองรับ tis-620 โค้ดที่เราจะใช้แปลงต้องเป็น tis-620

แต่ก็มีวิธีแก้ไขคือ เราจะแปลง tis-620 เป็น utf16 ด้วยการเติม 0E นำหน้า hex และลบออกด้วย A0 จากนั้นอ่านค่ากลับมาเป็น char ก็จะได้อักษรภาษาไทยแล้วครับ จะได้โค้ดประมาณนี้ครับ

ต้องขอขอบคุณข้อมูลจาก

ก่อนหน้าที่ผมจะได้คำตอบนี้ ผมได้ใช้วิธีสร้างฟังก์ชันเพื่อแปลงภาษาไทยโดยเฉพาะ ชื่อฟังก์ชันคือ decToChar()

แต่แปลงจาก dec เป็น char ครับ ซึ่งเอาไปใช้ในฟังก์ชันแรก แทรกเข้าไปดังนี้ครับ

จบเพียงเท่านี้ครับ ขอบคุณครับ

0