<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android與STM32通信中巧妙解決中文亂碼問題

      前言

      網上一大堆都是要多種格式相互轉換,并且要很大的字庫文件,對于小應用工程,小容量的STM32芯片,額外多出這些開銷會感到蠻不舒服的,而且絕大部分的亂碼問題時發生在STM32這邊,所以本文是從Android端解決編碼格式轉化的問題,STM32那邊稍做處理即可,我做的轉換是從UTF-8轉到GBK

      解決方案

      先是在蕓蕓眾文中發現一篇介紹JAVA正確做字符串編碼轉換的文章,確實可以在Android端實現轉換,但是在Socket通信時還是按utf8的編碼格式發,到STM32端還是亂碼,所以編碼轉換毫無意義了。后來很巧的看到另一種方式的編碼轉換格式URLEncoder,然后就是使用了。

      URLEncoder.encode(str,"GBK");
      

      把中文轉換出來的數據就是類似于"%B6%E0%CA%C7%C4%E3%BA%C3"的字符串,如果是ASCII碼就是原樣輸出,百分號后面的兩位字符就是對應的GBK漢字機內碼了,所以只要在STM32端做一下數據格式處理就可以直接獲取到GBK編碼的漢字,而不用再做額外的映射表,字庫之類的東西了。
      下面是數據處理獲取GBK編碼的代碼了

      //把字符串格式的16進制數轉換為整型16進制數
      uchar hstr2Hex(uchar *hstr){
      	uchar a=0;
      	if(hstr[0]>=0x30 && hstr[0]<=0x39){
      		a=hstr[0]-0x30;
      			
      	}else if(hstr[0]>=0x41 && hstr[0]<=0x46){
      		a=hstr[0]-0x37;
      	}
      	a<<=4;
      	if(hstr[1]>=0x30 && hstr[1]<=0x39){
      		a+=hstr[1]-0x30;
      			
      	}else if(hstr[1]>=0x41 && hstr[1]<=0x46){
      		a+=hstr[1]-0x37;
      	}
      	
      }
      //調用這個函數做數據處理,對于非漢字數據不做處理
      void getUrlGbk(uchar *nstr,uchar *ostr,int strlen){
      	int i,j;
      	uchar hstr[2];
      	for(i=0,j=0;i<strlen;i++){
      		if(ostr[i]=='%'){
      			hstr[0]=ostr[i+1];
      			hstr[1]=ostr[i+2];
      			nstr[j]=hstr2Hex(hstr);
      			j++;
      			i+=2;
      		}
      		else{
      			nstr[j]=ostr[i];
      			j++;
      		}
      	}
      }
      

      運行示圖

      測試程序:

      輸出為:

      下面是在墨水屏上顯示的從Android端發送來的數據

      結語

      在調試過程中一直以為是在Android端的編碼沒有轉換成功,換了好多種方式,最后發現是發送的問題,真心累啊,希望以后少些這些歷史遺留問題占用時間和精力吧。

      posted @ 2023-04-03 22:14  pie_thn  閱讀(170)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中国亚州女人69内射少妇| 十四以下岁毛片带血a级| 久久99国产精品尤物| 久久爱在线视频在线观看| 亚洲 国产 制服 丝袜 一区| 无码抽搐高潮喷水流白浆| 日韩人妻精品中文字幕专区| 国产中文字幕精品喷潮| 亚洲日韩性欧美中文字幕| 久久99精品久久久久麻豆| 午夜成人无码免费看网站| 洪雅县| 亚洲国产成人久久综合同性| 97欧美精品系列一区二区| 国产精品三级中文字幕| 国产欧美亚洲精品a第一页| 丁香婷婷无码不卡在线| 成人免费A级毛片无码片2022| 亚洲av尤物一区二区| 美女裸体视频永久免费| 成人国产精品中文字幕| 午夜精品久久久久久久2023| 国产太嫩了在线观看| 国产精品一区二区国产馆| 无码av天天av天天爽| 国产超碰人人做人人爰| 伊人激情av一区二区三区| 视频区 国产 图片区 小说区| 日韩人妻无码精品久久久不卡 | 国产乱码一区二区三区| 四虎网址| 天天看片视频免费观看| 娇妻玩4p被三个男人伺候| 精品超清无码视频在线观看| 午夜福利影院不卡影院| 一本大道久久香蕉成人网| 国产精品区一二三四久久| 成人免费区一区二区三区| 国产一二三四区中| 亚洲va久久久噜噜噜久久狠狠| 无码专区 人妻系列 在线|