在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
MessagePack 是一種高效的二進位序列化格式,允許多種語言之間的數據交換,它類似於 JSON,但速度更快且更加緊湊。 Python 中的 msgpack 函式庫提供了處理這種格式所需的工具,並提供了 CPython 綁定和純 Python 實現。
效率:MessagePack 被設計得比 JSON 更高效,不論在速度還是大小方面。它透過使用二進位格式(msgpack 規範)來達成,降低了像 JSON 這種基於文本格式的額外負擔。
跨語言支援:MessagePack 支援多種程式語言,非常適合需要在不同系統和語言間共享資料的應用程式。
相容性:Python 中的 msgpack 庫相容於 Python 2 和 Python 3,以及 CPython 和 PyPy 實作。
在開始讀取和寫入 messagepack 資料之前,您需要安裝 msgpack 庫,可以通過 pip 完成:
pip install msgpack
以下是一個使用 MessagePack 進行數據序列化和反序列化的簡單示例:
import msgpack
# Serialize key value pairs or file like object
data = {'key': 'value', 'number': 42}
packed_data = msgpack.packb(data, use_bin_type=True)
# Deserialize data
unpacked_data = msgpack.unpackb(packed_data, raw=False)
print(unpacked_data)
py
import msgpack
from io import BytesIO
# Create a buffer
buf = BytesIO()
for i in range(100):
buf.write(msgpack.packb(i))
buf.seek(0)
unpacker = msgpack.Unpacker(buf)
for unpacked in unpacker:
print(unpacked)
py
import datetime
import msgpack
# uses default sequence type
def encode_datetime(obj): # default value
if isinstance(obj, datetime.datetime):
return {'__datetime__': True, 'as_str': obj.strftime('%Y%m%dT%H:%M:%S.%f')}
return obj
def decode_datetime(obj):
if '__datetime__' in obj:
return datetime.datetime.strptime(obj['as_str'], '%Y%m%dT%H:%M:%S.%f')
return obj
data = {'time': datetime.datetime.now()}
packed_data = msgpack.packb(data, default=encode_datetime)
unpacked_data = msgpack.unpackb(packed_data, object_hook=decode_datetime)
print(unpacked_data)
py
IronPDF 是一個強大的 Python 函式庫,旨在使用 HTML、CSS、圖像和 JavaScript 創建、編輯和簽署 PDF。 它提供商用級性能且佔用較低的記憶體資源。 主要功能包括:
將 HTML 文件、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁呈現為 PDF。
兼容各種 .NET 平台,包括 .NET Core、.NET Standard 和 .NET Framework。 它支援 Windows、Linux 和 macOS。
設置屬性、通過密碼和權限添加安全性,並對您的PDF應用數字簽名。
自訂 PDF 的頁眉、頁腳、頁碼和可調整的邊距。 支持響應式版面和自訂紙張尺寸。
遵循 PDF 標準,如 PDF/A 和 PDF/UA。 支持 UTF-8 字符編碼並處理資產,例如圖像、CSS 和字體。
import msgpack
import datetime
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
# Serialize data
data = {'key': 'value', 'number': 42}
packed_data = msgpack.packb(data, use_bin_type=True)
# Deserialize data
unpacked_data = msgpack.unpackb(packed_data, raw=False)
print(unpacked_data)
#Custom Data Types
def encode_datetime(obj):
if isinstance(obj, datetime.datetime):
return {'__datetime__': True, 'as_str': obj.strftime('%Y%m%dT%H:%M:%S.%f')}
return obj
def decode_datetime(obj):
if '__datetime__' in obj:
return datetime.datetime.strptime(obj['as_str'], '%Y%m%dT%H:%M:%S.%f')
return obj
datat = {'time': datetime.datetime.now()}
packed_datat = msgpack.packb(datat, default=encode_datetime)
unpacked_datat = msgpack.unpackb(packed_datat, object_hook=decode_datetime)
print(unpacked_datat)
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with msgpack</h1>"
content += "<h3>Serialize data</h3>"
content += "<p>"+str(data)+"</p>"
content += "<p> msgpack.packb(data, use_bin_type=True):</p><p>"+str(packed_data)+"</p>"
content += "<h3>Deserialize data</h3>"
content += "<p> msgpack.unpackb(packed_data, raw=False):</p><p>"+str(unpacked_data)+"</p>"
content += "<h3>Encode Custom Data Types</h3>"
content += "<p>"+str(datat)+"</p>"
content += "<p> msgpack.packb(datat, default=encode_datetime):</p><p>"+str(packed_datat)+"</p>"
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("Demo-msgpack.pdf")
py
此腳本展示了如何將msgpack與IronPDF集成,用於序列化和反序列化數據,並從HTML內容創建PDF文檔。
使用 msgpack 序列化資料:
使用 msgpack 反序列化數據:
自訂資料類型處理:
用於 PDF 生成的 HTML 內容:
構建一個包含以下內容的 HTML 字串:
標題和小節詳細說明序列化數據(data 和 packed_data)。
使用IronPDF生成PDF:
保存 PDF:
!msgpack python(對開發者的運作方式):圖 2
IronPDF 在 Python 的授權金鑰上運行。 IronPDF python 提供免費試用授權金鑰,讓用戶在購買前可以先了解其豐富的功能。
在使用 IronPDF 套件之前,將授權密鑰放置在腳本的開頭:
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
py
MessagePack 是一個在 Python 中用於高效數據序列化的強大工具。 其緊湊的二進制格式、跨語言支持和處理自訂數據類型的能力,使其成為各種應用程式的多功能選擇。 無論您是在處理不同系統之間的數據交換,還是在優化數據處理任務的性能,MessagePack 都提供了一個強大的解決方案。
IronPDF 是一個多功能的 Python 函式庫,專為直接從 Python 應用程式創建、處理和呈現 PDF 文件而設計。 它簡化了將 HTML 轉換為 PDF、創建互動式 PDF 表單,以及執行合併和拆分 PDF 文件等各種文檔操作的任務。 IronPDF 無縫整合到現有的網頁技術中,為開發者提供了一套強大的工具,可以生成動態 PDF,增強文件管理和展示任務的生產力。