Thursday, September 16, 2004

แปลงรหัส เกษตร เป็น สมอ.

มีคำถามเข้ามาทาง MSN ว่าจะแปลงไฟล์ภาษาไทยเก่าๆที่ใช้รหัส เกษตร ให้เป็น สมอ. ได้ยังไง ก็เลยไปค้นโปรแกรมเก่าๆ (Likit) ดู เจอในซอร์สเคยทำตารางแปลงแบบนี้เอาไว้
unsigned char ku2std[]={
       0x098,0x099,0x09a,0x09b,0x096,0x095,0x093,0x092,
       0x090,0x091,0x08f,0x020,0x020,0x020,0x020,0x020,
       0x0f0,0x0f1,0x0f2,0x0f3,0x0f4,0x0f5,0x0f6,0x0f7,
       0x0f8,0x0f9,0x0a3,0x0a5,0x020,0x020,0x020,0x020,
       0x0a0,0x0a1,0x0a2,0x0a4,0x0a6,0x0a7,0x0a8,0x0a9,
       0x0aa,0x0ab,0x0ac,0x0ad,0x0ae,0x0af,0x0b0,0x0b1,
       0x0b2,0x0b3,0x0b4,0x0b5,0x0b6,0x0b7,0x0b8,0x0b9,
       0x0ba,0x0bb,0x0bc,0x0bd,0x0be,0x0bf,0x0c0,0x0c1,
       0x0c2,0x0c3,0x0c4,0x0c5,0x0c7,0x0c8,0x0c9,0x0ca,
       0x0cb,0x0cc,0x0cd,0x0ce,0x0d0,0x0c6,0x0d2,0x0d3,
       0x0e0,0x0e1,0x0e2,0x0e3,0x0e4,0x0e6,0x0cf,0x0d8,
       0x0d9,0x0d4,0x0d5,0x0d6,0x0d7,0x0d1,0x0ed,0x0e7,
       0x0e8,0x0e9,0x0ea,0x0eb,0x0ec,0x0da,0x080,0x081,
       0x082,0x083,0x084,0x085,0x086,0x087,0x088,0x089,
       0x08a,0x08b,0x08c,0x08d,0x08e,0x09e,0x09f,0x0df,
       0x020,0x020,0x0ee,0x0ef,0x0fa,0x0fb,0x0fe,0x0ff };
วิธีใช้ก็แบบนี้
out = (in>=128) ? ku2std[in-128] : in;

No comments: