1. 程式人生 > >wpa_supplicant 中文SSID連線不上

wpa_supplicant 中文SSID連線不上

在wpa_supplicant中scan,獲取的SSID,可以正常顯示中文,通過wpa_cli獲取到SSID,它會把中文GBK編碼轉換成16進位制的字串,

不經過轉換,這時我們配置WIFI,就會把16進位制字串的SSID,傳給wpa_supplicant,就會導致連線不上(因為SSID都不對)

所以我們獲取到中文的SSID,需要轉換,變為GBK編碼

思路:把16進位制字串轉換成字元,然後再組合在一起

程式碼參考:

/* 十六進位制字串轉換為位元組流  * eg:e8(16進位制,2個位元組)---》轉變為e8(一個位元組)  */ static void HexStrToByte(const char* source, unsigned char* dest, int sourceLen) {     short i;     unsigned char highByte, lowByte;     for (i = 0; i < sourceLen; i += 2)     {         highByte = toupper(source[i]);         lowByte  = toupper(source[i + 1]);         if (highByte > 0x39)             highByte -= 0x37;         else             highByte -= 0x30;         if (lowByte > 0x39)             lowByte -= 0x37;         else             lowByte -= 0x30;         dest[i / 2] = (highByte << 4) | lowByte;     }     return ; } /* 字串拆開,重新組裝  * eg: ab\xe8\x80\x83\xe5\x8b\xa4轉換為  *        ab鑰冨嫟(即ab考勤)  */ static void string_reerect(char *src, char *destBuf) {     int i = 0;     int j = 0;     while(src[j] != '\0')     {         if(strncmp(&src[j], "\\x", 2) != 0)         {             memcpy(&destBuf[i], &src[j], 1);             i = i + 1;             j = j + 1;         }         else         {             HexStrToByte(&src[j+2], &destBuf[i], 2);             i = i+1;             j = j+4;         }     }     destBuf[i] = '\0';     return ; }

相關推薦

wpa_supplicant 中文SSID連線

在wpa_supplicant中scan,獲取的SSID,可以正常顯示中文,通過wpa_cli獲取到SSID,它會把中文GBK編碼轉換成16進位制的字串, 不經過轉換,這時我們配置WIFI,就會把16進位制字串的SSID,傳給wpa_supplicant,就會導致連線不上

前後端連線,但是Reponse有返回值

問題解決思路 1.看前端是否有錯誤   檢視前端encvionments.ts中的URL是否連線的為本地地址。   許可權確定是否有分配資源 2.看後端的配置檔案是否有錯誤   檢視Profiles檔案中的local環境配置是否有錯誤,可以試著連線一下其他環境 3

chmod -R 777 *誤操作引起的putty連線探究

                         &nb

centos 7.2 oracle sqlplus / as sysdba 連線資料庫,報使用者或密碼錯誤

     昨天在想建立使用者時,發現系統的資料庫用sqlplus / as sysdba 連線不上,請教了公司的dba大佬幫忙,解決,發現原因和解決方法如下: 開啟oracle安裝目錄下的oracle/product/11.2.0.1/network/ad

Maven專案中oracle資料庫連線(已經在pom檔案中配置jdbc驅動檔案)

在Maven專案中配置資料庫連線的過程中,出現java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver: 但是檢查了很久都沒有發現哪裡出現錯誤,該配置的都配置了,然後在百度找了一下,發現是oracle版本不同造成的: 參

安裝Navicat premium,並激活Navicat premium,並解決Navicat premium連線oracle的問題

安裝完oracle之後,安裝資料庫的管理軟體navicat premium 簡體中文版 下面給出安裝包的地址連結: Navicat premium簡體中文安裝包:連結: https://pan.baidu.com/s/1RgYiyT20X8dvb891cjiraQ提

turtlebot2機器人連線

上個月由於Linux系統崩潰我重新安裝了Linux系統,然後ros和turtlebot的包重新安裝了一遍,但是在連線機器人時卻提示機器人連線不上,機器人電池未上電等提示。 我以為是電池電量不夠了,但是測量發現電量是滿的,於是排除了硬體的原因,發現是電腦的USB沒有識別到turtlebot

MySql安裝完成後,Navicat連線的問題

Navicat連線mysql8.0.1版本出現1251--Client does not support authentication protocol requested by server的解決 好不容易安裝好mysql,但又出現了mysql客戶端版本太低的問題。根據參考的這篇教程,完美的解決了該問題。

centos7 sssh連線

今天遇到CentOS 7 下遠端連不上,懷疑服務沒有啟動,先檢查了埠和服務是否啟動: ps -A| grep sshd 發現沒有 netstat -nultp|grep 22 也沒有發現22埠 檢查防火牆是不是會影響,關閉了防火牆,重啟sshd服務  systemctl s

CDH中安裝Hue連線資料庫 Unexpected error. Unable to verify database connection 完美解決方案

在安裝CDH時,走到驗證資料庫連線部分時候,Hue總是驗證不過去,報錯為: Unexpected error. Unable to verify database connection。原因大都是因為缺少環境包所致。 我安裝的過程中分別使用過postgresql和mysql,都出現過相

android studio 連線華為SLA_AL00手機

                          使用環境:        當你擁有此款手機,想用來測試卻連線不上,

centos7輸入ifconfig顯示ip地址,連線的解決方法

最近又把自己的虛擬機器打開了玩玩叢集,遇到一個小問題,我發現虛擬機器的記憶體不夠了,就把虛擬機器關機加大了記憶體,誰知道開機後,ifconfig或者ip addr 顯示沒有ip地址,只顯示一個lo,沒有ens33,沒有ip地址就沒法用xshell連線,很蛋疼,網上也有很多解決方案,但都寫的亂七八

hadoop的8032 failed on connection exception連線

18/11/08 10:06:53 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm2 18/11/08 10:06:53 INFO retry.RetryInvocationHandler: Exc

tcgames無需安卓模擬器電腦玩手遊連線黑屏、閃退、連線問題彙總

tcgames連線不上手機怎麼辦?tcgames連線電腦黑屏閃退如何解決?tcgames為什麼一直顯示正在連線中?tcgames是一款無需安卓模擬器也可以在電腦上玩手機遊戲匹配手遊服玩家的工具,部分玩家在使用過程中存在以上問題,今天教一下大家解決方法! 1、tcgames電腦玩手機遊戲連線黑屏閃退

FileZilla連線ftp伺服器

在伺服器上都已經進行設定過,本地測試也能進行連線。 到FileZilla上 what the fack? 百度各種方法,一個上午過去。。。死活就是連不上。 最後解決方式就是:將超時秒數增加(或者置為0),問題解決。 心頭頓時千萬只草泥馬奔騰而過。

QT多執行緒中,物件訊號與槽連線的解決辦法

1、在接收者建立執行緒中,把接收者移動到主執行緒中: pReceiverObj->moveToThread(QApplication::instance()->thread()); 2、這樣傳送訊號的時候,就會在主執行緒事件佇列處理中來處理了。 把connect的最

SSM整合Redis連線

1.關閉Redis的保護機制         2.關閉防火牆 firewall-cmd --state #檢視預設防火牆狀態(關閉後顯示notrunning,開啟後顯示running)  關閉防火牆: sys

mysql 本地連線 遠端連線 ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL ERROR 1062 (23000): Duplicate entry '%-root'

檢視用於遠端訪問的mysql使用者許可權是否正確。 在本地登入mysql伺服器, use mysql; SELECT user, host from mysql.user; 檢視用於遠端訪問的mysql使用者host的許可權,%表示允許所有機器訪問。若host為127.0.0.1/localhost,那

docker中的mysql資料庫連線解決辦法

1.在docker內部連線不上mysql資料庫 即在本地模式下不能連線 這時候應該是docker容器重啟過,mysql資料庫沒有啟動的原因,可以使用 service mysql restart 來啟動mysql資料庫 2.在宿主機上不能遠端連線到docker容器中的mysql資料

ssh工具連線 vmware linux虛擬機器的處理

之前在本地搭建了linux虛擬機器,用ssh工具連線的時候總是被拒絕,好多網上說設定橋接模式等,其實不用 首先輸入  ssh locahost  肯定報錯,顯示connect refuse,其實原因是沒有安裝sshd,就是openssh-server 輸入命令: