This commit is contained in:
chenyan 2021-12-03 15:13:46 +08:00
parent 1e220f60e3
commit 0a2bcf1836
1 changed files with 2 additions and 18 deletions

View File

@ -33,7 +33,7 @@ description: 在线 unicode 解码。 \uxxxx 转中文。\uxxxx 实质是什么
<ul class="uk-tab uk-tab-top" data-uk-tab="{connect:'#main', active:localStorage.unicode_activeTab, animation:'fade'}">
<li><a id="activeTab0" onClick="localStorage.unicode_activeTab = 0" rel="nofollow" href="#">解码</a></li>
<li><a id="activeTab1" onClick="localStorage.unicode_activeTab = 1" rel="nofollow" href="#">介绍</a></li>
<!-- <li><a id="alipay-red-bao-button" onmouseover="viewAlipayRedBao()" rel="nofollow">支付宝 扫码领红包</a></li> -->
<li><a id="alipay-red-bao-button" onmouseover="viewAlipayRedBao()" rel="nofollow">支付宝 扫码领红包</a></li>
</ul>
</div>
<script>
@ -78,23 +78,7 @@ description: 在线 unicode 解码。 \uxxxx 转中文。\uxxxx 实质是什么
<h2>为什么会有 \uxxxx 转中文的需求?</h2>
因为内存中的字符串,直接对应于我们代码中的一个字符串变量。如果程序规范,它会以 unicode 编码的形式存储在内存中。然后我们直接打印这个字符串变量,经常就出现了 \uxxxx 的所谓乱码。实际是打印的操作不够规范。<br><br>
可以这样说服自己,我们统一把给人看的字符串用 utf8 表示,给机器看的字符串用 unicode 表示。打印的目的是要给人看,所以多加一句代码把字符串变量由 unicode 转成 utf8 再输出是合理的。
<!-- <h2>vuejs 就很优雅</h2>
查看本页面的网页源代码,可以看到这样一段代码<br>
<pre><code>data: {
origin: '', // /uxxxx 形式的字符串
chinese: '中文'
},
mounted: function () {
if (localStorage.unicode_tab0_chinese) {
this.chinese = localStorage.unicode_tab0_chinese
}
this.onChangeChinese()
}</code></pre>
注意到 mounted 方法中,用中文作为历史记录的保存依据、页面加载完成后的初始化自动解码。而不是用 /uxxxx 形式的字符串。<br><br>
因为 vue 认为,文本框中的字符串是给人看的,所以如果初始化自动解码使用 data.origin 变量(/uxxxx 形式的字符串), vue 会自动转成中文显示在文本框中。<br><br> -->
</div>
</li>
<li class="uk-height-1-1 uk-width-1-1 uk-text-center">