色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

4G模組LuatOS開發(fā)|iconv字符集轉(zhuǎn)換技術(shù)篇

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-11-30 09:53 ? 次閱讀

本次我要講的是4G模組LuatOS開發(fā)的iconv字符集轉(zhuǎn)換,已整理成文,今天便分享供大家。

一、字符編碼介紹

1.1 字符編碼的定義與作用

字符編碼(Character encoding)是指將字符集中的字符編碼為指定集合中的某一對(duì)象(例如:比特模式、自然數(shù)序列、8 位組或者電脈沖),以便文本在計(jì)算機(jī)中存儲(chǔ)或通過通信網(wǎng)絡(luò)傳遞。常見的例子包括將拉丁字母表編碼成摩斯電碼和 ASCII,其中 ASCII 使用 7 個(gè)或 8 個(gè)二進(jìn)制位進(jìn)行編碼,最多可以給 256 個(gè)字符分配數(shù)值。

1.2 常見字符編碼格式

ASCII:使用 7 個(gè)或 8 個(gè)二進(jìn)制位進(jìn)行編碼,最多可以給 256 個(gè)字符分配數(shù)值,包括字母、數(shù)字和符號(hào)。

Unicode:一種國際標(biāo)準(zhǔn)字符集,支持世界上幾乎所有的書寫系統(tǒng),包括漢字、日文假名等。

UTF-8:Unicode 的一種變長字符編碼,由 Ken Thompson 于 1992 年創(chuàng)建,現(xiàn)已標(biāo)準(zhǔn)化為 RFC 3629。UTF-8 用 1 到 6 個(gè)字節(jié)編碼 Unicode 字符。

GB2312:中國國家標(biāo)準(zhǔn)字符集,用于簡體中文。

GBK:在 GB2312 基礎(chǔ)上擴(kuò)展的字符集,支持更多的中文字符。

Big5:用于繁體中文的字符集。

1.3 字符編碼格式的使用場景和注意事項(xiàng)

在使用不同的字符編碼格式時(shí),需要注意以下幾點(diǎn):

兼容性:確保發(fā)送端和接收端使用相同的字符編碼,避免亂碼問題。

轉(zhuǎn)換規(guī)則:了解 Unicode 和 UTF-8 之間的轉(zhuǎn)換規(guī)則,確保正確編碼和解碼。

應(yīng)用場景:根據(jù)具體應(yīng)用場景選擇合適的字符編碼格式,例如 Web 開發(fā)中常用 UTF-8。

二、演示功能概述

本文演示主要展示了在不同編碼格式之間進(jìn)行轉(zhuǎn)換的工具和方法,包括 Unicode(小端和大端)、GB2312 和 UTF-8 等常見編碼格式。通過使用 Lua 語言和 Air780E 核心板,實(shí)現(xiàn)了以下功能:

Unicode 小端編碼與 GB2312 編碼之間的轉(zhuǎn)換。

Unicode 大端編碼與 GB2312 編碼之間的轉(zhuǎn)換。

Unicode 小端編碼與 UTF-8 編碼之間的轉(zhuǎn)換。

Unicode 大端編碼與 UTF-8 編碼之間的轉(zhuǎn)換。

GB2312 編碼與 UTF-8 編碼之間的轉(zhuǎn)換。

此外,還提供了一個(gè)簡單的 Lua 腳本,用于在不同編碼之間進(jìn)行轉(zhuǎn)換測(cè)試,并打印出轉(zhuǎn)換后的編碼數(shù)據(jù)。通過這個(gè)演示,大家可以了解不同編碼格式之間的轉(zhuǎn)換規(guī)則,并在實(shí)際應(yīng)用中進(jìn)行編碼轉(zhuǎn)換。

三、演示硬件環(huán)境

3.1 開發(fā)板

本文以 Air780E 核心板為例,如下圖所示:

wKgZomdAqzqAR3o8AAKSEk2OmJE599.png

詳細(xì)使用說明參考:
https://docs.openluat.com/air780e/product/

Air780E 產(chǎn)品手冊(cè)中的 《開發(fā)板Core_Air780E使用說明VX.X.X.pdf》,寫這篇文章時(shí)最新版本的使用說明為:《開發(fā)板Core_Air780E使用說明V1.0.5.pdf》 ;若在使用過程中遇到任何問題,可以直接參考這份使用說明 PDF 文檔。

3.2 SIM

在中國大陸環(huán)境下,使用移動(dòng),電信,聯(lián)通的物聯(lián)網(wǎng)卡或者手機(jī)卡都可以。

3.3 PC 電腦

WIN7以及以上版本的WINDOWS系統(tǒng)。

3.4 數(shù)據(jù)通信

1. USB 轉(zhuǎn) Type-C 數(shù)據(jù)線

它的一端是 USB 接口,另一端是 Type-C 接口。

wKgaomdAq0qAUsTPAARyY3mFiyE196.png

四、演示軟件環(huán)境

4.1 Luatools 下載調(diào)試工具

Luatools 工具支持最新固件獲取、固件打包、trace 打印及單機(jī)燒錄等功能。

工具使用說明參考:
Luatools下載和詳細(xì)使用
https://docs.openluat.com/Luatools/

4.2 源碼及固件

1. 底層 core下載地址:
https://docs.openluat.com/air780e/luatos/firmware/

由于 Air780E 默認(rèn)固件不支持 iconv 庫,所以此處只放一個(gè)默認(rèn)固件下載位置。要想使用 iconv 庫,則需要進(jìn)行云編譯。使用指南參考:?? 云編譯 - LuatOS 文檔本文使用的支持 iconv 庫的底層 core 固件,已經(jīng)放到下文第 3 點(diǎn)的 iconv.zip 中,可以直接使用

2. demo 位置

本 demo 主要用于演示在 LuatOS 系統(tǒng)中不同編碼格式之間的相互轉(zhuǎn)換

demo 位置參考:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/iconv

3. 源碼及固件已打包壓縮,如下所示

壓縮包中 core 文件夾存放的是固件,code 文件夾存放的是腳本代碼。

五、軟硬件資料

5.1 iconv 操作庫介紹

需要注意,Air780E 默認(rèn)固件不帶 iconv 庫,需要進(jìn)行云編譯添加。云編譯操作指南參考:
?? 云編譯 - LuatOS 文檔
https://wiki.luatos.com/develop/compile/Cloud_compilation.html

5.1.1 iconv 庫說明

這個(gè)庫是一個(gè)用于在 Lua 中執(zhí)行字符集轉(zhuǎn)換的模塊,稱為 iconv。它提供了多種功能,允許用戶在不同的字符編碼之間進(jìn)行轉(zhuǎn)換。

5.1.2 API 接口介紹

教程所使用 API 接口參考:
iconv - iconv 操作 - luatos@air780e - 合宙文檔中心https://docs.openluat.com/air780e/luatos/api/core/iconv/

5.2 Air780E 核心板燒錄說明

5.2.1 選擇固件和腳本

1. 打開 Luatools 工具

2. 點(diǎn)擊項(xiàng)目管理測(cè)試

wKgaomdAq2iAXgSdAAEDCX-4se0962.png

3. 根據(jù)圖示操作

注意,大家只需要跟著做到第四步即可,第五步跟著后面的操作再做。

wKgZomdAq3aABUqwAARdLYrLb3o510.png

5.2.2 燒錄

1. 將 Air780E 核心板通過 USB 數(shù)據(jù)線連接至電腦,如下圖所示:

wKgZomdAq4aARsfJAAg2zJa_eP4464.png


2. 根據(jù)下方操作進(jìn)行燒錄

此時(shí)就需要大家先點(diǎn)擊 Luatools 工具上的 下載底層與腳本/下載腳本,再執(zhí)行下方操作了。

開發(fā)板處于未開機(jī)狀態(tài):此時(shí)先按住下載模式按鍵(BOOT 鍵)不放,再長按開機(jī)鍵(POW 鍵)開機(jī),若不出意外開發(fā)板將會(huì)進(jìn)入下載模式,Luatools 工具下載進(jìn)度條會(huì)開始跑,這時(shí)便可以松開 BOOT 鍵和 POW 鍵,等到工具提示下載完成即可。

開發(fā)板已經(jīng)處于開機(jī)狀態(tài):此時(shí)可以先按住 BOOT 鍵不放,再短按復(fù)位鍵(RST 鍵)后開發(fā)板會(huì)重啟并進(jìn)入下載模式。

5.2.3 不同模式下的端口顯示

wKgaomdAq5qAAhd9AAQd6GgaCD4761.png

六、功能驗(yàn)證

6.1 代碼示例介紹

本文所用 Lua 代碼是一個(gè)編碼轉(zhuǎn)換工具,主要用于在不同編碼格式之間進(jìn)行轉(zhuǎn)換,包括 Unicode(小端和大端)、GB2312 和 UTF-8。以下是各個(gè)部分的詳細(xì)介紹:

6.1.1 核心信息

PROJECT 和 VERSION 變量用于標(biāo)識(shí)項(xiàng)目的名稱和版本。

PRODUCT_KEY 是一個(gè)示例密鑰,用戶需根據(jù)實(shí)際情況進(jìn)行替換。

通過 require 引用系統(tǒng)庫 sys 和 sysplus。

6.1.2 編碼轉(zhuǎn)換函數(shù)

Unicode 小端與 GB2312 轉(zhuǎn)換

ucs2ToGb2312(ucs2s):將 Unicode 小端編碼轉(zhuǎn)換為 GB2312 編碼。

gb2312ToUcs2(gb2312s):將 GB2312 編碼轉(zhuǎn)換為 Unicode 小端編碼。

Unicode 大端與 GB2312 轉(zhuǎn)換

ucs2beToGb2312(ucs2s):將 Unicode 大端編碼轉(zhuǎn)換為 GB2312 編碼。

gb2312ToUcs2be(gb2312s):將 GB2312 編碼轉(zhuǎn)換為 Unicode 大端編碼。

Unicode 小端與 UTF-8 轉(zhuǎn)換

ucs2ToUtf8(ucs2s):將 Unicode 小端編碼轉(zhuǎn)換為 UTF-8 編碼。

utf8ToUcs2(utf8s):將 UTF-8 編碼轉(zhuǎn)換為 Unicode 小端編碼。

Unicode 大端與 UTF-8 轉(zhuǎn)換

ucs2beToUtf8(ucs2s):將 Unicode 大端編碼轉(zhuǎn)換為 UTF-8 編碼。

utf8ToUcs2be(utf8s):將 UTF-8 編碼轉(zhuǎn)換為 Unicode 大端編碼。

GB2312 與 UTF-8 轉(zhuǎn)換

utf8ToGb2312(utf8s):將 UTF-8 編碼轉(zhuǎn)換為 GB2312 編碼。

gb2312ToUtf8(gb2312s):將 GB2312 編碼轉(zhuǎn)換為 UTF-8 編碼。

6.1.3 測(cè)試函數(shù)

代碼中定義了一些測(cè)試函數(shù),用于驗(yàn)證編碼轉(zhuǎn)換的正確性,并且打印出轉(zhuǎn)換后的編碼數(shù)據(jù):

testucs2ToGb2312(ucs2s):測(cè)試 Unicode 小端到 GB2312 的轉(zhuǎn)換。

testgb2312ToUcs2(gd2312num):測(cè)試 GB2312 到 Unicode 小端的轉(zhuǎn)換。

testucs2beToGb2312(ucs2s):測(cè)試 Unicode 大端到 GB2312 的轉(zhuǎn)換。

testgb2312ToUcs2be(gb2312s):測(cè)試 GB2312 到 Unicode 大端的轉(zhuǎn)換。

testucs2ToUtf8(usc2):測(cè)試 Unicode 小端到 UTF-8 的轉(zhuǎn)換。

testutf8ToGb2312(utf8s):測(cè)試 UTF-8 到 GB2312 的轉(zhuǎn)換。

testgb2312ToUtf8(gb2312s):測(cè)試 GB2312 到 UTF-8 的轉(zhuǎn)換。

6.1.4 主循環(huán)

在主任務(wù)中,使用 sys.taskInit 定義一個(gè)循環(huán),不斷進(jìn)行編碼轉(zhuǎn)換測(cè)試,每隔一秒循環(huán)一次。

6.1.5 結(jié)尾

最后,通過 sys.run()啟動(dòng)系統(tǒng)運(yùn)行,確保程序按預(yù)期執(zhí)行。

6.2 完整代碼展示

wKgZomdAq8uALf_xAAUYDBoLVr0292.pngwKgaomdAq9mATFtTAAS77PRxug4375.pngwKgZomdAq-aAD-LtAATvkJRqv_c641.pngwKgaomdAq_eAM1OuAATg3Uvnmh4601.pngwKgZomdArAuAN4TqAARUeJYEHVI607.pngwKgaomdArBmACCWcAATPJ9g9IeI137.pngwKgZomdArCaAXBlGAASVcljFqRs488.pngwKgZomdArDaAOCBfAAQBLu2EKFo490.pngwKgZomdArEWAdaqvAAQ7U6Oan8A505.pngwKgaomdArFSAGUTCAAUK6lxWBX8933.pngwKgaomdArGCAE-t0AABiFt9xyl4982.png

6.3 運(yùn)行結(jié)果展示

通過 Luatoos 工具查看

wKgZomdArG2Ab-N1AAin-dqHYjY492.png

七、總結(jié)

本文演示通過對(duì)不同字符編碼格式的介紹和實(shí)際轉(zhuǎn)換操作,使得大家更加了解了字符編碼在計(jì)算機(jī)通信中的重要性,以及如何在不同編碼格式之間進(jìn)行轉(zhuǎn)換。演示中使用的工具和硬件環(huán)境為 Air780E 核心板和 Lua 編程語言,通過實(shí)際編碼轉(zhuǎn)換的例子,展示了字符編碼轉(zhuǎn)換在實(shí)際應(yīng)用中的重要性。

在演示中,我們介紹了 Unicode(小端和大端)、GB2312 和 UTF-8 等常見編碼格式,并展示了如何在 Lua 中使用 iconv 庫進(jìn)行編碼轉(zhuǎn)換。通過這個(gè)演示,大家可以了解到不同編碼格式之間的差異,以及在不同場景下如何選擇合適的編碼格式。

此外,我們還提供了一個(gè)簡單的 Lua 腳本,用于在不同編碼之間進(jìn)行轉(zhuǎn)換測(cè)試,并打印出轉(zhuǎn)換后的編碼數(shù)據(jù)。這個(gè)腳本可以幫助大家更好地理解和掌握字符編碼轉(zhuǎn)換的原理和方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    940

    瀏覽量

    54814
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    233

    瀏覽量

    25199
  • 模組
    +關(guān)注

    關(guān)注

    6

    文章

    1487

    瀏覽量

    30360
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    76

    瀏覽量

    1936
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    4G 模組 HTTP 網(wǎng)絡(luò)協(xié)議應(yīng)用 白嫖版!

    今天我們來白嫖的是Air780E模組LuatOS開發(fā)4G通信中HTTP網(wǎng)絡(luò)協(xié)議的應(yīng)用,實(shí)現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的傳輸,詳細(xì)介紹硬件環(huán)境、軟件
    的頭像 發(fā)表于 10-30 14:22 ?778次閱讀
    <b class='flag-5'>4G</b> <b class='flag-5'>模組</b> HTTP 網(wǎng)絡(luò)協(xié)議應(yīng)用 白嫖版!

    如何查詢Oracle client端的字符集

    什么是Oracle字符集?如何查詢dmp文件的字符集?如何查詢Oracle client端的字符集
    發(fā)表于 05-26 06:42

    怎樣去使用C語言字符集呢?有哪些規(guī)則

    C語言字符集的特點(diǎn)有哪些呢?怎樣去使用C語言字符集呢?有哪些規(guī)則?
    發(fā)表于 02-25 07:43

    python正則表達(dá)式字符集

    字符集是由一對(duì)方括號(hào) “[]” 括起來的字符集合。使用字符集,可以匹配多個(gè)字符中的一個(gè)。舉個(gè)例子,比如你使用 C[ET]O 匹配到的是 CEO 或 CTO ,也就是說 [ET] 代表的
    發(fā)表于 03-17 16:48

    LCD液晶顯示漢字字符集

    LCD液晶顯示漢字字符集
    發(fā)表于 12-23 02:02 ?0次下載

    字符集字符集編碼詳解

    字符集字符集編碼詳解
    發(fā)表于 09-12 08:33 ?4次下載
    <b class='flag-5'>字符集</b>與<b class='flag-5'>字符集</b>編碼詳解

    一文帶你搞懂字符集編碼

    軟件開發(fā)人員經(jīng)常遇到“中文亂碼”、“軟件不能顯示日文”等類似問題。真相只有一個(gè)——對(duì)字符集編碼沒有一個(gè)系統(tǒng)的認(rèn)知。
    的頭像 發(fā)表于 06-09 10:20 ?1498次閱讀
    一文帶你搞懂<b class='flag-5'>字符集</b>編碼

    mysql8.0默認(rèn)字符集是什么

    MySQL 8.0 默認(rèn)字符集是 utf8mb4。 MySQL 8.0 是當(dāng)前最新的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由Oracle公司開發(fā)和維護(hù)。MySQL 8.0 默認(rèn)字符集是 utf8m
    的頭像 發(fā)表于 11-16 14:48 ?1799次閱讀

    關(guān)于4G模組LuatOS開發(fā):通用加解密函數(shù)(crypto)|全攻略

    本次我要說的攻略是關(guān)于4G模組LuatOS開發(fā)的通用加解密函數(shù),我以我常用的Air780E模組為例子供大家參考。
    的頭像 發(fā)表于 11-30 09:52 ?235次閱讀
    關(guān)于<b class='flag-5'>4G</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>:通用加解密函數(shù)(crypto)|全攻略

    LuatOS開發(fā)4G模組隨機(jī)數(shù)(random)|實(shí)戰(zhàn)指南

    本次學(xué)習(xí)的實(shí)戰(zhàn)是關(guān)于4G模組LuatOS開發(fā)的隨機(jī)數(shù)示例指南,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:51 ?178次閱讀
    <b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>之<b class='flag-5'>4G</b><b class='flag-5'>模組</b>隨機(jī)數(shù)(random)|實(shí)戰(zhàn)指南

    Air780E模組LuatOS開發(fā)的位運(yùn)算(bit)教程

    本次我們要學(xué)習(xí)的是4G模組Air780E的LuatOS開發(fā),關(guān)于位運(yùn)算(bit)教程分享給大家。
    的頭像 發(fā)表于 11-26 11:58 ?135次閱讀
    Air780E<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>的位運(yùn)算(bit)教程<b class='flag-5'>篇</b>!

    4G模組Air780E的LuatOS開發(fā):關(guān)于通用加解密函數(shù)(crypto)教程!

    本次我將講解低功耗4G模組Air780E的LuatOS開發(fā),關(guān)于通用加解密函數(shù)(crypto)教程分享給大家。我會(huì)從加解密概述、演示功能概述、硬件準(zhǔn)備、軟件環(huán)境、API 說明等全面講述
    的頭像 發(fā)表于 12-01 15:50 ?190次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780E的<b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>:關(guān)于通用加解密函數(shù)(crypto)教程!

    解析Air780E模組LuatOS開發(fā)的隨機(jī)數(shù)(random) 示例

    本文主要解析的是低功耗4G模組Air780E的LuatOS開發(fā)隨機(jī)數(shù)(random)實(shí)例,我以整理成文分享給大家。
    的頭像 發(fā)表于 11-29 20:23 ?114次閱讀
    解析Air780E<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>的隨機(jī)數(shù)(random) 示例<b class='flag-5'>篇</b>

    4G模組Air780E的LuatOS開發(fā)之位運(yùn)算(bit)示例

    本文我要說的是低功耗4G模組Air780E的LuatOS開發(fā),關(guān)于位運(yùn)算(bit)示例,我將詳細(xì)解析分享給大家。
    的頭像 發(fā)表于 12-02 14:33 ?158次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780E的<b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>之位運(yùn)算(bit)示例

    來來來,看這里:低功耗模組LuatOS開發(fā)的日志輸出!

    本文以低功耗4G模組Air780E為例,學(xué)會(huì)低功耗模組LuatOS開發(fā)的日志輸出,積累技術(shù)
    的頭像 發(fā)表于 12-05 09:09 ?146次閱讀
    來來來,看這里:低功耗<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>的日志輸出!
    主站蜘蛛池模板: 国产-第1页-浮力影院| 被室友C哭调教双性| 97在线视频网站| 精品成人在线视频| 亚洲AV蜜桃永久无码精品红樱桃| videossexotv极度另类| 免费观看成人毛片| 99re6久久热在线视频| 麻豆XXXX乱女少妇精品-百度| 伊人影院亚洲| 久久精品国产在热亚洲完整版| 亚洲国产在线2o20| 狠狠干女人| 在线欧美免费人成视频| 久久精品国产亚洲AV久五月天| 伊人色啪啪天天综合婷婷| 久久精品手机观看| 最近免费中文字幕MV免费高清| 乱叫抽搐流白浆免费视频| 91成品视频| 秋霞电影伦网理最新在线看片| 成人天堂资源WWW在线| 色欲AV人妻精品麻豆AV| 国产传媒18精品免费观看| 小玲被公扒开腿| 精品无人区一区二区三区| 中国老太太xxx| 欧美精品九九99久久在观看| 德国xxxx| 亚洲人成网站在线观看90影院| 久久vs国产| 99热热在线精品久久| 视频一区国产| 黄色大片aa| 91免费精品国自产拍在线可以看| 强伦姧久久久久久久久久| 共妻肉多荤文高h一女n男| 亚洲乱亚洲乱妇13p| 免费精品国产日韩热久久| 超碰97 总站 中文字幕| 亚洲国产cao|