{"id":130134,"date":"2022-11-29T20:10:14","date_gmt":"2022-11-29T20:10:14","guid":{"rendered":"https:\/\/blog.finxter.com\/?p=936986"},"modified":"2022-11-29T20:10:14","modified_gmt":"2022-11-29T20:10:14","slug":"python-convert-hex-to-base64","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2022\/11\/29\/python-convert-hex-to-base64\/","title":{"rendered":"Python Convert Hex to Base64"},"content":{"rendered":"\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-top\" data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;936986&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;top&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;1&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;5\\\/5 - (1 vote)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;width&quot;:&quot;142.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n<div class=\"kksr-stars\">\n<div class=\"kksr-stars-inactive\">\n<div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"kksr-stars-active\" style=\"width: 142.5px;\">\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\"> 5\/5 &#8211; (1 vote) <\/div>\n<\/div>\n<p class=\"has-global-color-8-background-color has-background\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f4ac.png\" alt=\"\ud83d\udcac\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <strong>Question<\/strong>: How to convert a hexadecimal string such as <code>02af01ff00<\/code> to a normal string using the Base64 format in Python?<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/11\/image-309-1024x682.png\" alt=\"\" class=\"wp-image-937206\" srcset=\"https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/11\/image-309-1024x682.png 1024w, https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/11\/image-309-300x200.png 300w, https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/11\/image-309-768x512.png 768w, https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/11\/image-309.png 1354w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<p class=\"has-global-color-8-background-color has-background\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f449.png\" alt=\"\ud83d\udc49\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <strong>Short answer<\/strong>: Use the following fancy one-liner expression to convert the hex string <code>s<\/code> to a Base64-encoded Python string: <code>base64.b64encode(bytes.fromhex(s)).decode()<\/code>.<\/p>\n<p>For the long answer, keep reading! <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f978.png\" alt=\"\ud83e\udd78\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<p>If you&#8217;re like me, you may need a quick refresher on <strong>how Base64 encoding works<\/strong> and what it is exactly. Although I studied computer science a couple of years ago, I don&#8217;t have all those super basic &#8220;bits&#8221; of knowledge at the top of my head all the time.<\/p>\n<p>You may already know about Base64 &#8212; in that case, I&#8217;d recommend you skip the next section and jump ahead right away. <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f447.png\" alt=\"\ud83d\udc47\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<h2>What Is Base64 Encoding?<\/h2>\n<p class=\"has-global-color-8-background-color has-background\">Base64 is a very minimal encoding where a minimal set of characters &#8212; <code>A-Z<\/code>, <code>a-z<\/code>, and <code>0-9<\/code>, essentially &#8212; are encoded using only six bits. Each bit position doubles the number of different encodings, so the Base64 encoding can encode <strong>2*2*2*2*2*2 = 2^6 = 64<\/strong> different characters. <\/p>\n<p>Here&#8217;s the whole table &#8212; fortunately, the encoding is small and efficient enough that I can show you the whole thing! <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f92f.png\" alt=\"\ud83e\udd2f\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <\/p>\n<p><em>(And, no, Emojis don&#8217;t have any place in Base64, it&#8217;s VERY old school!)<\/em><\/p>\n<figure class=\"wp-block-table is-style-stripes\">\n<table>\n<thead>\n<tr>\n<th>Index<\/th>\n<th>Binary<\/th>\n<th>Char<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>000000<\/td>\n<td>A<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>000001<\/td>\n<td>B<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>000010<\/td>\n<td>C<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>000011<\/td>\n<td>D<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>000100<\/td>\n<td>E<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>000101<\/td>\n<td>F<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>000110<\/td>\n<td>G<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>000111<\/td>\n<td>H<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>001000<\/td>\n<td>I<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>001001<\/td>\n<td>J<\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>001010<\/td>\n<td>K<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>001011<\/td>\n<td>L<\/td>\n<\/tr>\n<tr>\n<td>12<\/td>\n<td>001100<\/td>\n<td>M<\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td>001101<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>001110<\/td>\n<td>O<\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>001111<\/td>\n<td>P<\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>010000<\/td>\n<td>Q<\/td>\n<\/tr>\n<tr>\n<td>17<\/td>\n<td>010001<\/td>\n<td>R<\/td>\n<\/tr>\n<tr>\n<td>18<\/td>\n<td>010010<\/td>\n<td>S<\/td>\n<\/tr>\n<tr>\n<td>19<\/td>\n<td>010011<\/td>\n<td>T<\/td>\n<\/tr>\n<tr>\n<td>20<\/td>\n<td>010100<\/td>\n<td>U<\/td>\n<\/tr>\n<tr>\n<td>21<\/td>\n<td>010101<\/td>\n<td>V<\/td>\n<\/tr>\n<tr>\n<td>22<\/td>\n<td>010110<\/td>\n<td>W<\/td>\n<\/tr>\n<tr>\n<td>23<\/td>\n<td>010111<\/td>\n<td>X<\/td>\n<\/tr>\n<tr>\n<td>24<\/td>\n<td>011000<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>25<\/td>\n<td>011001<\/td>\n<td>Z<\/td>\n<\/tr>\n<tr>\n<td>26<\/td>\n<td>011010<\/td>\n<td>a<\/td>\n<\/tr>\n<tr>\n<td>27<\/td>\n<td>011011<\/td>\n<td>b<\/td>\n<\/tr>\n<tr>\n<td>28<\/td>\n<td>011100<\/td>\n<td>c<\/td>\n<\/tr>\n<tr>\n<td>29<\/td>\n<td>011101<\/td>\n<td>d<\/td>\n<\/tr>\n<tr>\n<td>30<\/td>\n<td>011110<\/td>\n<td>e<\/td>\n<\/tr>\n<tr>\n<td>31<\/td>\n<td>011111<\/td>\n<td>f<\/td>\n<\/tr>\n<tr>\n<td>32<\/td>\n<td>100000<\/td>\n<td>g<\/td>\n<\/tr>\n<tr>\n<td>33<\/td>\n<td>100001<\/td>\n<td>h<\/td>\n<\/tr>\n<tr>\n<td>34<\/td>\n<td>100010<\/td>\n<td>i<\/td>\n<\/tr>\n<tr>\n<td>35<\/td>\n<td>100011<\/td>\n<td>j<\/td>\n<\/tr>\n<tr>\n<td>36<\/td>\n<td>100100<\/td>\n<td>k<\/td>\n<\/tr>\n<tr>\n<td>37<\/td>\n<td>100101<\/td>\n<td>l<\/td>\n<\/tr>\n<tr>\n<td>38<\/td>\n<td>100110<\/td>\n<td>m<\/td>\n<\/tr>\n<tr>\n<td>39<\/td>\n<td>100111<\/td>\n<td>n<\/td>\n<\/tr>\n<tr>\n<td>40<\/td>\n<td>101000<\/td>\n<td>o<\/td>\n<\/tr>\n<tr>\n<td>41<\/td>\n<td>101001<\/td>\n<td>p<\/td>\n<\/tr>\n<tr>\n<td>42<\/td>\n<td>101010<\/td>\n<td>q<\/td>\n<\/tr>\n<tr>\n<td>43<\/td>\n<td>101011<\/td>\n<td>r<\/td>\n<\/tr>\n<tr>\n<td>44<\/td>\n<td>101100<\/td>\n<td>s<\/td>\n<\/tr>\n<tr>\n<td>45<\/td>\n<td>101101<\/td>\n<td>t<\/td>\n<\/tr>\n<tr>\n<td>46<\/td>\n<td>101110<\/td>\n<td>u<\/td>\n<\/tr>\n<tr>\n<td>47<\/td>\n<td>101111<\/td>\n<td>v<\/td>\n<\/tr>\n<tr>\n<td>48<\/td>\n<td>110000<\/td>\n<td>w<\/td>\n<\/tr>\n<tr>\n<td>49<\/td>\n<td>110001<\/td>\n<td>x<\/td>\n<\/tr>\n<tr>\n<td>50<\/td>\n<td>110010<\/td>\n<td>y<\/td>\n<\/tr>\n<tr>\n<td>51<\/td>\n<td>110011<\/td>\n<td>z<\/td>\n<\/tr>\n<tr>\n<td>52<\/td>\n<td>110100<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>53<\/td>\n<td>110101<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>54<\/td>\n<td>110110<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>55<\/td>\n<td>110111<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>56<\/td>\n<td>111000<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>57<\/td>\n<td>111001<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>58<\/td>\n<td>111010<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>59<\/td>\n<td>111011<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td>60<\/td>\n<td>111100<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>61<\/td>\n<td>111101<\/td>\n<td>9<\/td>\n<\/tr>\n<tr>\n<td>62<\/td>\n<td>111110<\/td>\n<td>+<\/td>\n<\/tr>\n<tr>\n<td>63<\/td>\n<td>111111<\/td>\n<td>\/<\/td>\n<\/tr>\n<\/tbody>\n<tfoot>\n<tr>\n<td><strong>Index<\/strong><\/td>\n<td><strong>Binary<\/strong><\/td>\n<td><strong>Character<\/strong><\/td>\n<\/tr>\n<\/tfoot>\n<\/table>\n<\/figure>\n<p class=\"has-base-background-color has-background\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f30d.png\" alt=\"\ud83c\udf0d\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <strong>Recommended Tutorial<\/strong>: <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-base64\/\" data-type=\"post\" data-id=\"327003\" target=\"_blank\">Python Base64 &#8211; String Encoding and Decoding [+Video]<\/a><\/p>\n<h2>How to Convert Base64 Encoding (Hex String) to Human-Readable String in Python?<\/h2>\n<p>You can convert a hex string of the format <code>'02af01ff00'<\/code> to a Base64 encoded normal Python string by using the expression: <\/p>\n<p><code>base64.b64encode(bytes.fromhex(s)).decode()<\/code><\/p>\n<p>You can convert the resulting Base64 string back to a normal string by using the one-liner expression:<\/p>\n<p><code>base64.b64decode(b64.encode()).hex()<\/code><\/p>\n<p>Here&#8217;s a code example&#8212;I&#8217;ll break it down for you right after the code:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"6\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import base64 s = '02af01ff00' # hex string -> base64 string\nb64 = base64.b64encode(bytes.fromhex(s)).decode() # base64 string -> hex string\ns2 = base64.b64decode(b64.encode()).hex() print(s)\nprint(b64)\nprint(s2)\n<\/pre>\n<p>The output shows that you successfully converte from the hex string to the Base64 string and back to the hex string:<\/p>\n<pre class=\"wp-block-preformatted\"><code>02af01ff00\nAq8B\/wA=\n02af01ff00<\/code><\/pre>\n<p>You can see that the start and end values of the conversion remain the same.<\/p>\n<p>Let&#8217;s break down the code step by step!<\/p>\n<p><strong>Step 1<\/strong>: The initial hex string is still in a non-standardized format <code>'02af01ff00'<\/code>. We require it to be a <code><a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-bytes-vs-bytearray\/\" data-type=\"post\" data-id=\"870390\" target=\"_blank\">bytes<\/a><\/code> object because this is the required input format of the <code>base64<\/code> functions shown in a moment. You use the <code><a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-convert-hex-string-to-binary\/\" data-type=\"post\" data-id=\"847708\" target=\"_blank\">bytes.fromhex()<\/a><\/code> function.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"2\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">>>> s = '02af01ff00'\n>>> bytes.fromhex(s)\nb'\\x02\\xaf\\x01\\xff\\x00'<\/pre>\n<p><strong>Step 2<\/strong>: You use the <code>base64.b64encode()<\/code> function to take the hex string (as <code>bytes<\/code> object) and convert it to a <code>bytes<\/code> object in Base64 encoding. This is almost what you want &#8212; but it&#8217;s not yet a normal Python string!<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"1\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">>>> base64.b64encode(bytes.fromhex(s))\nb'Aq8B\/wA='<\/pre>\n<p><strong>Step 3<\/strong>: To convert the <code>bytes<\/code> object in Base64 encoding to a normal Python string, we use the <code>bytes.decode()<\/code> method.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"1\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">>>> base64.b64encode(bytes.fromhex(s)).decode() 'Aq8B\/wA='<\/pre>\n<p>Voil\u00e0, exactly what you wanted! But how to convert it back?<\/p>\n<p><strong>Step 4 and 5<\/strong>: You can convert the normal Base64-encoded Python string back to the hex string from the beginning by using the <code>string.encode()<\/code> method to obtain a <code>bytes<\/code> object, passing it into the <code>base64.b64decode()<\/code> function to obtain a Base64 <code>bytes<\/code> representation, and converting it to a hexadecimal string by using the <code><a href=\"https:\/\/blog.finxter.com\/how-to-convert-hex-string-to-bytes-in-python\/\" data-type=\"post\" data-id=\"843354\" target=\"_blank\" rel=\"noreferrer noopener\">bytes.hex()<\/a><\/code> method.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"3\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">>>> base64.b64decode('Aq8B\/wA='.encode())\nb'\\x02\\xaf\\x01\\xff\\x00'\n>>> base64.b64decode('Aq8B\/wA='.encode()).hex() '02af01ff00'<\/pre>\n<h2>Thanks <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/2764.png\" alt=\"\u2764\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/h2>\n<p>Thanks for reading through the whole tutorial, I hope you managed to solve your issue! If not, you can check out <a rel=\"noreferrer noopener\" href=\"https:\/\/stackoverflow.com\/a\/63595341\/16045637\" data-type=\"URL\" data-id=\"https:\/\/stackoverflow.com\/a\/63595341\/16045637\" target=\"_blank\">this<\/a> highly interesting SO answer.<\/p>\n<p>Also, make sure to check out our free Python cheat sheets for maximal learning efficiency and fun! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>5\/5 &#8211; (1 vote) Question: How to convert a hexadecimal string such as 02af01ff00 to a normal string using the Base64 format in Python? Short answer: Use the following fancy one-liner expression to convert the hex string s to a Base64-encoded Python string: base64.b64encode(bytes.fromhex(s)).decode(). For the long answer, keep reading! If you&#8217;re like me, you [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[857],"tags":[73,468,528],"class_list":["post-130134","post","type-post","status-publish","format-standard","hentry","category-python-tut","tag-programming","tag-python","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/130134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=130134"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/130134\/revisions"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=130134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=130134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=130134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}