แปลง SVG เป็น JSON ด้วยการเข้ารหัส Base64

เมื่อต้องจัดการกับกราฟิกแบบเวกเตอร์ เช่น SVG มักจำเป็นต้องแปลงไฟล์เหล่านี้เป็นรูปแบบที่สามารถฝัง ส่ง หรือจัดเก็บได้อย่างง่ายดาย วิธีปฏิบัติวิธีหนึ่งคือการแปลงไฟล์ SVG เป็นรูปแบบ JSON โดยใช้การเข้ารหัส Base64 การแปลงดังกล่าวมีประโยชน์ในการฝังกราฟิกแบบเวกเตอร์ลงในหน้าเว็บหรือแอปพลิเคชันโดยตรงโดยไม่ต้องร้องขอ HTTP เพิ่มเติม ซึ่งช่วยลดความยุ่งยากในการถ่ายโอนข้อมูลผ่าน API และไฟล์การกำหนดค่า ปรับปรุงประสิทธิภาพโดยการลดภาระของเครือข่าย และทำให้การสร้าง UI แบบไดนามิกมีประสิทธิภาพมากขึ้น


วิธีแปลง SVG เป็น JSON ใน Python

ในการแปลง SVG เป็น JSON เราใช้ Aspose.SVG for Python via .NET API ซึ่งเป็น API การจัดการเอกสารที่มีฟีเจอร์หลากหลาย ทรงพลัง และใช้งานง่ายสำหรับแพลตฟอร์ม Python เราพิจารณาตัวอย่างการเข้ารหัส SVG เป็น Base64 และการฝังสตริง Base64 ลงในเอกสาร JSON:


รหัส Python เพื่อแปลง SVG เป็น JSON

import base64
import json
import os
from aspose.svg import *

# Create a function to convert SVG to JSON with Base64-encoded SVG data
def convert_svg_to_json(svg_path, json_path):
    # Load an SVG document
    document = SVGDocument(svg_path)

    # Save the SVG content to a temporary file
    temp_svg_path = "temp_output.svg"
    document.save(temp_svg_path)

    try:
        # Read the content from the temporary file
        with open(temp_svg_path, "r", encoding="utf-8") as svg_file:
            svg_content = svg_file.read()

        # Encode the SVG content in Base64
        encoded_svg = base64.b64encode(svg_content.encode("utf-8")).decode("utf-8")

        # Create JSON structure
        json_data = {
            "image": {
                "mime": "image/svg+xml",
                "data": encoded_svg
            }
        }

        # Write the JSON to the file
        with open(json_path, "w", encoding="utf-8") as json_file:
            json.dump(json_data, json_file, indent=4)

    finally:
        # Clean up the temporary file
        if os.path.exists(temp_svg_path):
            os.remove(temp_svg_path)

# Example usage
input_svg = "image.svg"
output_json = "image-base64.json"

convert_svg_to_json(input_svg, output_json)



ขั้นตอนในการแปลง SVG เป็น JSON ใน Python

  1. ใช้คลาส SVGDocument เพื่อโหลดเนื้อหา SVG จากเส้นทางไฟล์ที่ระบุ
  2. บันทึกเอกสาร SVG ที่โหลดลงในไฟล์ชั่วคราว ขั้นตอนนี้อำนวยความสะดวกในการอ่านเนื้อหา SVG เป็นสตริงสำหรับการเข้ารหัส
  3. เปิดไฟล์ SVG ชั่วคราวและอ่านเนื้อหาเป็นสตริง แปลงสตริงนี้เป็นการเข้ารหัส Base64 เพื่อเตรียมสำหรับการฝังใน JSON
  4. สร้างออบเจ็กต์ JSON ที่มีประเภท MIME และข้อมูล SVG ที่เข้ารหัส Base64 จัดโครงสร้าง JSON ตามต้องการ โดยมีฟิลด์ที่เหมาะสมสำหรับข้อมูลรูปภาพ
  5. บันทึกวัตถุ JSON ที่สร้างขึ้นไปยังเส้นทางไฟล์ที่ระบุ ไฟล์ JSON นี้จะมีข้อมูล SVG ที่เข้ารหัส Base64
  6. ลบไฟล์ SVG ชั่วคราวเพื่อให้แน่ใจว่าไม่มีไฟล์ที่ไม่จำเป็นเหลืออยู่ในระบบ

โดยทั่วไปออบเจ็กต์ JSON จะมีประเภท MIME ของรูปภาพและข้อมูลที่เข้ารหัส ดังนี้

รหัส JSON พร้อมอิมเมจ Base64 SVG ที่ฝังอยู่

{
  "image": {
    "mime": "image/svg",
    "data": "base64_string..."
  }
}



ตัวเข้ารหัส Base64 ออนไลน์

Aspose.SVG เสนอแอปพลิเคชันออนไลน์ฟรีสำหรับเข้ารหัสและถอดรหัสข้อมูลไบนารี:

  • ตัวเข้ารหัส Base64 เป็นชุดเครื่องมือที่ให้คุณเข้ารหัสข้อมูลไบนารีในรูปแบบเอาต์พุตต่างๆ: Plain Base64, JSON, XML, URI หรือ CSS
  • ตัวถอดรหัส Image Base64 แปลง URI ข้อมูลที่มีสตริง Base64 เป็นภาพโดยการวางสตริง URI ในตัวควบคุมอินพุต

แอปพลิเคชันบนเบราว์เซอร์ของเราทำงานได้จากทุกแพลตฟอร์ม รวมถึง Windows, Linux, Mac OS, Android และ iOS คุณไม่จำเป็นต้องลงทะเบียน ปลั๊กอิน หรือติดตั้งซอฟต์แวร์ เริ่มใช้เครื่องมือเข้ารหัส/ถอดรหัส Base64 ออนไลน์อย่างปลอดภัย มั่นคง และด้วยวิธีง่ายๆ!

FAQ

1. ฉันจะแปลง SVG เป็น JSON ได้อย่างไร

Aspose.SVG ช่วยให้คุณแปลง SVG เป็น JSON ได้ทุกวิธี ไม่ว่าจะทางออนไลน์หรือทางโปรแกรม ตัวอย่างเช่น คุณสามารถเข้ารหัส SVG แบบเรียลไทม์ได้โดยใช้ ตัวเข้ารหัส SVG ออนไลน์ ซึ่งจะแปลงไฟล์ของคุณอย่างรวดเร็วและมีคุณภาพสูง อัปโหลด เข้ารหัส SVG และรับผลลัพธ์ภายในไม่กี่วินาที! ในทางกลับกัน คุณสามารถใช้ Aspose.SVG for Python via .NET API เพื่อแปลง SVG เป็น JSON ได้ด้วยโปรแกรม

2. เหตุใดจึงต้องเข้ารหัสไฟล์ SVG

ในอดีต รูปแบบการถ่ายโอนและจัดเก็บข้อมูลจำนวนมาก เช่น HTML, XML และอีเมล จะใช้ข้อความแทนรหัสไบนารี เมื่อข้อมูลไบนารี เช่น ในไฟล์ SVG จำเป็นต้องฝังในรูปแบบข้อความเหล่านี้ และการเข้ารหัส Base64 จึงมีความจำเป็น การเข้ารหัสไฟล์ SVG เป็น Base64 ช่วยให้ฝังไฟล์ลงใน XML, JSON, CSS และ URI ได้อย่างปลอดภัยโดยไม่ต้องปรับเปลี่ยนระหว่างการขนส่ง วิธีนี้ช่วยลดความซับซ้อนในการรวมระบบ เพิ่มความสามารถในการพกพา และปรับปรุงเวลาในการโหลดโดยลดคำขอ HTTP

3. การเข้ารหัส Base64 คืออะไร

การเข้ารหัส Base64 เป็นวิธีการแปลงข้อมูลไบนารีเป็นรูปแบบข้อความโดยใช้ชุดอักขระ ASCII 64 ตัวที่ปลอดภัยสำหรับใช้ในรูปแบบข้อความ เช่น HTML, XML หรืออีเมล การเข้ารหัสนี้ช่วยให้มั่นใจได้ว่าข้อมูลไบนารี เช่น รูปภาพหรือไฟล์ สามารถฝัง ส่ง หรือเก็บไว้ในระบบที่จัดการเฉพาะข้อความโดยไม่ทำให้ข้อมูลเสียหาย โดยทั่วไปแล้ว Base64 จะใช้ฝังรูปภาพในหน้าเว็บ ส่งไฟล์ทางอีเมล และจัดเก็บข้อมูลในรูปแบบข้อความ

4. การเข้ารหัส Base64 ส่งผลต่อคุณภาพของภาพ SVG ได้หรือไม่

ไม่ การเข้ารหัส Base64 ไม่ส่งผลต่อคุณภาพของภาพ SVG การเข้ารหัส Base64 เป็นวิธีการแสดงข้อมูลไบนารีเป็นข้อความ โดยรักษาคุณภาพเดิมของไฟล์ SVG กระบวนการเข้ารหัสเพียงแค่แปลงไฟล์ SVG เป็นรูปแบบข้อความที่เหมาะสำหรับการฝังในรูปแบบข้อความต่างๆ เช่น JSON, XML หรือ CSS

เริ่มต้นใช้งาน Python API

หากคุณต้องการพัฒนากราฟิกเวกเตอร์ที่ปรับขนาดได้และแอปพลิเคชัน ให้ติดตั้ง Aspose.SVG for Python via .NET API ที่ยืดหยุ่นและความเร็วสูงของเรา pip เป็นวิธีที่ง่ายที่สุดในการดาวน์โหลดและติดตั้ง Aspose.SVG for Python via .NET API เมื่อต้องการทำเช่นนี้ ให้เรียกใช้คำสั่งต่อไปนี้:

pip install aspose-svg-net

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี Python และข้อกำหนดของระบบ โปรดดูที่ เอกสารประกอบ Aspose.SVG

ตัวเข้ารหัส Base64 อื่นๆ ที่รองรับ

คุณสามารถแปลง SVG เป็นสตริง Base64 และบันทึกเป็น JSON, XML และ CSS ได้:

Image to Base64 (Binary-to-text encoding)
SVG to JSON (JavaScript Object Notation)
SVG to XML (Extensible Markup Language)
SVG to CSS (Cascading Style Sheets)