Base64 인코딩을 사용하여 SVG를 JSON으로 변환

SVG와 같은 벡터 그래픽을 처리할 때 이러한 파일을 쉽게 포함, 전송 또는 저장할 수 있는 형식으로 변환해야 하는 경우가 많습니다. 실용적인 접근 방식 중 하나는 Base64 인코딩을 사용하여 SVG 파일을 JSON 형식으로 변환하는 것입니다. 이러한 변환은 추가 HTTP 요청 없이 벡터 그래픽을 웹 페이지나 애플리케이션에 직접 삽입하는 데 유용합니다. 이는 API 및 구성 파일을 통한 데이터 전송을 단순화하고, 네트워크 부하를 줄여 성능을 향상시키며, 동적 UI 생성을 더욱 효율적으로 만듭니다.


Python에서 SVG를 JSON으로 변환하는 방법

SVG를 JSON으로 변환하기 위해 우리는 Python 플랫폼을 위한 기능이 풍부하고 강력하며 사용하기 쉬운 문서 조작 API인 Aspose.SVG for Python via .NET API를 사용합니다. Base64 문자열을 JSON 문서에 포함하고 SVG에서 Base64로 인코딩하는 예를 고려합니다.


SVG를 JSON으로 변환하는 Python 코드

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)



Python에서 SVG를 JSON으로 변환하는 단계

  1. SVGDocument 클래스를 사용하여 지정된 파일 경로에서 SVG 콘텐츠를 로드합니다.
  2. 로드된 SVG 문서를 임시 파일에 저장합니다. 이 단계를 통해 SVG 콘텐츠를 인코딩용 문자열로 쉽게 읽을 수 있습니다.
  3. 임시 SVG 파일을 열고 해당 내용을 문자열로 읽어옵니다. 이 문자열을 Base64 인코딩으로 변환하여 JSON에 포함할 수 있도록 준비합니다.
  4. MIME 유형과 Base64로 인코딩된 SVG 데이터를 포함하는 JSON 객체를 생성합니다. 이미지 데이터에 대한 적절한 필드를 사용하여 필요에 따라 JSON을 구성합니다.
  5. 생성된 JSON 객체를 지정된 파일 경로에 저장합니다. 이제 이 JSON 파일에는 Base64로 인코딩된 SVG 데이터가 포함됩니다.
  6. 불필요한 파일이 시스템에 남아 있지 않도록 임시 SVG 파일을 제거합니다.

JSON 객체에는 일반적으로 다음과 같이 이미지의 MIME 유형과 인코딩된 데이터가 포함됩니다.

Base64 SVG 이미지가 내장된 JSON 코드

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



온라인 Base64 인코더

Aspose.SVG는 바이너리 데이터 인코딩 및 디코딩을 위한 무료 온라인 애플리케이션을 제공합니다.

  • Base64 인코더 는 일반 Base64, JSON, XML, URI 또는 ​​CSS와 같은 다양한 출력 형식으로 바이너리 데이터를 인코딩할 수 있는 도구 세트입니다.
  • 이미지 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 인코딩은 HTML, XML 또는 이메일과 같은 텍스트 기반 형식에서 안전하게 사용할 수 있는 64개의 ASCII 문자 집합을 사용하여 이진 데이터를 텍스트 형식으로 변환하는 방법입니다. 이 인코딩은 이미지나 파일과 같은 이진 데이터를 데이터 손상 없이 텍스트만 처리하는 시스템에 임베드, 전송 또는 저장할 수 있도록 합니다. 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)