คุณประมวลผลการเข้ารหัส EBCDIC CCSID 65535 โดยไม่มี iSeries อย่างไร


1

เป็นคำถามที่คลุมเครือ แต่เป็นแบบที่ฉันรู้ว่าผู้ใช้ SU อาจช่วยได้

ฉันได้รับไฟล์จาก iSeries ที่เข้ารหัสเป็น CCSID 65535 (ไบนารี) ซึ่งโดยทั่วไปหมายความว่ามันเข้ารหัสเป็นเลขฐานสิบหก (ใน EBCDIC) ฉันต้องการที่จะเข้าใจวิธีการทำงานของรูปแบบที่ดูเหมือนจะเผลอข้ามเข้าและออกจากการเข้ารหัสฐานสิบหก ตัวอย่างเช่น:

4040404040404040404040F3F040404040404040404040F1        0      04040404040404040404040F8F0F0F3F54040404040F3F4F0404040F3F0F3F8F1F1F7F1F0F8404040404040404040404040404040404040 2009E2D5F9F6F0F0F0F0F0F7           0           04040404040404040404040404040404040404040        

40 คือ EBCDIC ช่องว่างฉันรู้ แต่คุณจะเห็นว่ามีช่องว่างตามตัวอักษรในข้อความเช่นกัน การเปลี่ยนเกิดขึ้นในขอบเขตคี่และคู่และมองว่าส่วนแรกที่มีช่องว่างตามตัวอักษร "F1 0 040" คุณจะเห็น hex ที่เข้ารหัส '1' ("F1"), ช่องว่างตามตัวอักษรหลายตัว, ตัวอักษร '0' บางตัว ช่องว่างมากขึ้นตัวอักษร '0' อีกครั้งและจากนั้นพื้นที่เข้ารหัส hex ฉีกเส้นผมของฉันออกจากที่นี่ดูเหมือนจะไม่มีเหตุผล

ฉันสงสัยว่า 'ความรู้' สำหรับรูปแบบอาจจัดขึ้นใน iSeries ในคำจำกัดความแยกต่างหาก แต่ฉันไม่พบเอกสารที่ชัดเจนใด ๆ บนเว็บดังนั้นฉันหวังว่ากูรูที่นี่อาจรู้ว่าสิ่งนี้เข้ากันได้อย่างไร คำแนะนำใด ๆ ที่ได้รับสุดซึ้ง!

คำตอบ:


1

คุณได้ตรวจสอบข้อมูลอ้างอิงนี้: กำจัดปัญหาการแปลงข้อมูลของคุณ


ฉันได้อ่านเอกสารอ้างอิงนั้นแล้วและฉันคิดว่าสิ่งที่สำคัญที่สุดอาจเป็นคำจำกัดความของเขตข้อมูลไฟล์และนั่นคือสิ่งที่ฉันทำหายไป ฉันจะดูว่าฉันสามารถทำให้ทีม iSeries ถ่ายโอนข้อมูลให้ฉันได้หรือไม่ แต่ฉันหวังว่าจะมีบางสิ่งพื้นฐานมากกว่าที่ฉันเพิ่งหายไปซึ่งจะขัดขวางความต้องการไฟล์นิยามที่จะต้องซิงค์กับ iSeries ต่อไป คำนิยาม ขอบคุณต่อไป (+1)
Lazarus

0

คำตอบก็คือมันเป็นคำจำกัดความของเขตข้อมูลไฟล์ที่เป็นชิ้นที่สำคัญ ไม่มีวิธีการถอดรหัสไฟล์โดยไม่มีข้อมูลนั้น นอกจากนี้ยังไม่ปรากฏว่าเป็น. net ใด ๆ สำหรับสิ่งนี้ที่ฉันสามารถหาได้ง่าย ฉันคิดว่าปัญหาคือคุณต้อง:

  • แปลง EBCDIC เป็น ASCII (หรือมากกว่า ANSI หรือ UTF-8 ที่สมจริง)
  • ถอดรหัสฟิลด์ที่เข้ารหัสด้วยเลขฐานสิบหก (CCSID 65535) ไปยัง EBCDIC ดั้งเดิมของพวกเขา
  • คุณต้องจัดการกับ 0E (SI) และ 0F (SO) ซึ่งใส่วงเล็บสองไบต์ EBCDIC และยังต้องแปลงชุดอักขระปลายทางที่เหมาะสม (และหน้ารหัส)

ค่อนข้างมากที่จะทำเพื่อสิ่งที่ปรากฏข้อกำหนดที่ไม่ชัดเจน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.