<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  
  <!-- 默认语言（根域名） -->
  <url>
    <loc>https://pbdecoder.online/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en" />
    <lastmod>2025-10-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- 英文版本 -->
  <url>
    <loc>https://pbdecoder.online/en</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en" />
    <lastmod>2025-10-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- 中文版本 -->
  <url>
    <loc>https://pbdecoder.online/zh</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/" />
    <lastmod>2025-10-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- 博客首页 -->
  <url>
    <loc>https://pbdecoder.online/en/blog</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog" />
    <lastmod>2025-01-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog" />
    <lastmod>2025-01-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- 博客文章 -->
  <!-- Protobuf 基础教程 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/protobuf-basics</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-basics" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-basics" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-basics" />
    <lastmod>2025-01-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/protobuf-basics</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-basics" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-basics" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-basics" />
    <lastmod>2025-01-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Protobuf vs JSON 对比 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/protobuf-vs-json</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-vs-json" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-vs-json" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-vs-json" />
    <lastmod>2025-01-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/protobuf-vs-json</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-vs-json" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-vs-json" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-vs-json" />
    <lastmod>2025-01-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Proto 代码生成教程 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/proto-code-generation</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/proto-code-generation" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/proto-code-generation" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/proto-code-generation" />
    <lastmod>2025-01-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/proto-code-generation</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/proto-code-generation" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/proto-code-generation" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/proto-code-generation" />
    <lastmod>2025-01-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Protobuf 格式详解 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/what-is-protobuf-format</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-protobuf-format" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-protobuf-format" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-protobuf-format" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/what-is-protobuf-format</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-protobuf-format" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-protobuf-format" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-protobuf-format" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Protobuf 数据类型指南 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/protobuf-types-guide</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-types-guide" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-types-guide" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-types-guide" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/protobuf-types-guide</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-types-guide" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-types-guide" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-types-guide" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- 什么是 Protobuf -->
  <url>
    <loc>https://pbdecoder.online/en/blog/what-is-protobuf</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-protobuf" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-protobuf" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-protobuf" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/what-is-protobuf</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-protobuf" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-protobuf" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-protobuf" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- 什么是 Protobuf 文件 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/what-is-protobuf-file</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-protobuf-file" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-protobuf-file" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-protobuf-file" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/what-is-protobuf-file</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-protobuf-file" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-protobuf-file" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-protobuf-file" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Protobuf Timestamp 指南 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/protobuf-timestamp-guide</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-timestamp-guide" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-timestamp-guide" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-timestamp-guide" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/protobuf-timestamp-guide</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/protobuf-timestamp-guide" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/protobuf-timestamp-guide" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/protobuf-timestamp-guide" />
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- FlatBuffers 完整教程 -->
  <url>
    <loc>https://pbdecoder.online/en/blog/flatbuffers-tutorial</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/flatbuffers-tutorial" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/flatbuffers-tutorial" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/flatbuffers-tutorial" />
    <lastmod>2025-10-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/flatbuffers-tutorial</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/flatbuffers-tutorial" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/flatbuffers-tutorial" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/flatbuffers-tutorial" />
    <lastmod>2025-10-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- 什么是 CBOR -->
  <url>
    <loc>https://pbdecoder.online/en/blog/what-is-cbor</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-cbor" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-cbor" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-cbor" />
    <lastmod>2025-01-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/what-is-cbor</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-cbor" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-cbor" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-cbor" />
    <lastmod>2025-10-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- 什么是 MessagePack -->
  <url>
    <loc>https://pbdecoder.online/en/blog/what-is-messagepack</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-messagepack" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-messagepack" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-messagepack" />
    <lastmod>2025-10-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://pbdecoder.online/zh/blog/what-is-messagepack</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://pbdecoder.online/en/blog/what-is-messagepack" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://pbdecoder.online/zh/blog/what-is-messagepack" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://pbdecoder.online/en/blog/what-is-messagepack" />
    <lastmod>2025-10-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

</urlset>