教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang unicode转utf-8

golang unicode转utf-8

发布时间:2021-12-13   编辑:jiaochengji.com
教程集为您提供golang unicode转utf-8等资源,欢迎您收藏本站,我们将为您提供最新的golang unicode转utf-8资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

<h3>golang unicode转utf-8</h3> <ul><li>Unicode和utf-8的区别</li><li>具体转换代码</li></ul>

<h1>Unicode和utf-8的区别</h1>

参考文章

<h1>具体转换代码</h1> <pre><code class="lang-go hljs"><span class="token keyword">func</span> <span class="token function">handleResponse</span><span class="token punctuation">(</span>resp <span class="token operator">*</span>http<span class="token punctuation">.</span>Response<span class="token punctuation">)</span> <span class="token punctuation">(</span><span class="token builtin">string</span><span class="token punctuation">,</span> <span class="token builtin">error</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> respBytes<span class="token punctuation">,</span> err <span class="token operator">:=</span> ioutil<span class="token punctuation">.</span><span class="token function">ReadAll</span><span class="token punctuation">(</span>resp<span class="token punctuation">.</span>Body<span class="token punctuation">)</span> <span class="token keyword">defer</span> resp<span class="token punctuation">.</span>Body<span class="token punctuation">.</span><span class="token function">Close</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">if</span> err <span class="token operator">!=</span> <span class="token boolean">nil</span> <span class="token punctuation">{</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>err<span class="token punctuation">.</span><span class="token function">Error</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword">return</span> <span class="token string">""</span><span class="token punctuation">,</span> err <span class="token punctuation">}</span> <span class="token comment">//byte数组直接转成string,优化内存</span> str <span class="token operator">:=</span> <span class="token punctuation">(</span><span class="token operator">*</span><span class="token builtin">string</span><span class="token punctuation">)</span><span class="token punctuation">(</span>unsafe<span class="token punctuation">.</span><span class="token function">Pointer</span><span class="token punctuation">(</span><span class="token operator">&</span>respBytes<span class="token punctuation">)</span><span class="token punctuation">)</span> result <span class="token operator">:=</span> <span class="token function">unicode2utf8</span><span class="token punctuation">(</span><span class="token operator">*</span>str<span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span> <span class="token keyword">return</span> result<span class="token punctuation">,</span> <span class="token boolean">nil</span> <span class="token punctuation">}</span> <span class="token keyword">func</span> <span class="token function">unicode2utf8</span><span class="token punctuation">(</span>source <span class="token builtin">string</span><span class="token punctuation">)</span> <span class="token builtin">string</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> res <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token builtin">string</span><span class="token punctuation">{</span><span class="token string">""</span><span class="token punctuation">}</span> sUnicode <span class="token operator">:=</span> strings<span class="token punctuation">.</span><span class="token function">Split</span><span class="token punctuation">(</span>source<span class="token punctuation">,</span> <span class="token string">"\\u"</span><span class="token punctuation">)</span> <span class="token keyword">var</span> context <span class="token operator">=</span> <span class="token string">""</span> <span class="token keyword">for</span> <span class="token boolean">_</span><span class="token punctuation">,</span> v <span class="token operator">:=</span> <span class="token keyword">range</span> sUnicode <span class="token punctuation">{</span> <span class="token keyword">var</span> additional <span class="token operator">=</span> <span class="token string">""</span> <span class="token keyword">if</span> <span class="token function">len</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span> <span class="token operator"><</span> <span class="token number">1</span> <span class="token punctuation">{</span> <span class="token keyword">continue</span> <span class="token punctuation">}</span> <span class="token keyword">if</span> <span class="token function">len</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">4</span> <span class="token punctuation">{</span> rs <span class="token operator">:=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">rune</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span> v <span class="token operator">=</span> <span class="token function">string</span><span class="token punctuation">(</span>rs<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">)</span> additional <span class="token operator">=</span> <span class="token function">string</span><span class="token punctuation">(</span>rs<span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> temp<span class="token punctuation">,</span> err <span class="token operator">:=</span> strconv<span class="token punctuation">.</span><span class="token function">ParseInt</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span> <span class="token number">16</span><span class="token punctuation">,</span> <span class="token number">32</span><span class="token punctuation">)</span> <span class="token keyword">if</span> err <span class="token operator">!=</span> <span class="token boolean">nil</span> <span class="token punctuation">{</span> context <span class="token operator"> =</span> v <span class="token punctuation">}</span> context <span class="token operator"> =</span> fmt<span class="token punctuation">.</span><span class="token function">Sprintf</span><span class="token punctuation">(</span><span class="token string">"%c"</span><span class="token punctuation">,</span> temp<span class="token punctuation">)</span> context <span class="token operator"> =</span> additional <span class="token punctuation">}</span> res <span class="token operator">=</span> <span class="token function">append</span><span class="token punctuation">(</span>res<span class="token punctuation">,</span> context<span class="token punctuation">)</span> <span class="token keyword">return</span> strings<span class="token punctuation">.</span><span class="token function">Join</span><span class="token punctuation">(</span>res<span class="token punctuation">,</span> <span class="token string">""</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre> 到此这篇关于“golang unicode转utf-8”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
php对unicode转utf-8编码
python如何解决中文乱码问题
Python中的gbk怎么转化成utf
详细阐述PHP环境下如何将GBK编码转成UTF-8格式
php中UNICODE 编码与解码的二个例子
PHP6的新特性:Unicode和TextIterator
golang处理0x08不可见unicode字符
Golang基础 (字符型[byte和rune])
修改Go语言(golang)编译器源代码让它支持UTF-8 BOM
详解json.dumps中文乱码问题

[关闭]
~ ~