1. 程式人生 > >關於QByteArray用法的小總結

關於QByteArray用法的小總結

    QByteArray array;
    array.resize(3);

    array[1]=0x7f;
    qDebug("I array[1]=0x7f;array 1 is %d,%x",QVariant(array[1]).toInt(),QVariant(array[1]).toInt());
    qDebug("I array[1]=0x7f;__array 1 is %d,%x",array.at(1),array.at(1));
    qDebug("I array[1]=0x7f;___array 1 is %d,%x",QVariant((unsigned char)array[1]).toInt(),QVariant((unsigned char)array[1]).toInt());

    array[1]=0xff;
    qDebug("II array[1]=0xff;array 1 is %d,%x",QVariant(array[1]).toInt(),QVariant(array[1]).toInt());
    qDebug("II array[1]=0xff;__array 1 is %d,%x",array.at(1),array.at(1));
    qDebug("II array[1]=0xff;___array 1 is %d,%x",QVariant((unsigned char)array[1]).toInt(),QVariant((unsigned char)array[1]).toInt());

    array[1]=0x000000ff;
    qDebug("III array[1]=0x000000ff;array 1 is %d,%x",QVariant(array[1]).toInt(),QVariant(array[1]).toInt());
    qDebug("III array[1]=0x000000ff;__array 1 is %d,%x",array.at(1),array.at(1));
    qDebug("III array[1]=0x000000ff;___array 1 is %d,%x",QVariant((unsigned char)array[1]).toInt(),QVariant((unsigned char)array[1]).toInt());

    array[1]=-127;
    qDebug("IV array[1]=-127;array 1 is %d,%x",QVariant(array[1]).toInt(),QVariant(array[1]).toInt());
    qDebug("IV array[1]=-127;__array 1 is %d,%x",array.at(1),array.at(1));
    qDebug("IV array[1]=-127;___array 1 is %d,%x",QVariant((unsigned char)array[1]).toInt(),QVariant((unsigned char)array[1]).toInt());

    array[1]=0x7f01;
    qDebug("V array[1]=0x7f01;array 1 is %d,%x",QVariant(array[1]).toInt(),QVariant(array[1]).toInt());
    qDebug("V array[1]=0x7f01;__array 1 is %d,%x",array.at(1),array.at(1));
    qDebug("V array[1]=0x7f01;___array 1 is %d,%x",QVariant((unsigned char)array[1]).toInt(),QVariant((unsigned char)array[1]).toInt());
    



輸出結果是:

I array[1]=0x7f;array 1 is 127,7f
I array[1]=0x7f;__array 1 is 127,7f
I array[1]=0x7f;___array 1 is 127,7f
II array[1]=0xff;array 1 is -1,ffffffff
II array[1]=0xff;__array 1 is -1,ffffffff
II array[1]=0xff;___array 1 is 255,ff
III array[1]=0x000000ff;array 1 is -1,ffffffff
III array[1]=0x000000ff;__array 1 is -1,ffffffff
III array[1]=0x000000ff;___array 1 is 255,ff

IV array[1]=-127;array 1 is -127,ffffff81
IV array[1]=-127;__array 1 is -127,ffffff81
IV array[1]=-127;___array 1 is 129,81
V array[1]=0x7f01;array 1 is 1,1
V array[1]=0x7f01;__array 1 is 1,1
V array[1]=0x7f01;___array 1 is 1,1

由程式碼及結果看出,

1.QByteArray 中的元素有32位,但在賦值時array[]僅僅只儲存被賦的值的低8位,array[]中剩下的高位24位則按照低八位的最高位統一補0或者1

2.QByteArray 中的元素有符號

3.QByteArray賦值時僅僅能使用array[i]=value;這種形式,array.at(i)是隻讀的,並且強制型別轉換對array.at(i)不起作用。

4.若要讀取使用其元素值,如果要獲取有符號數形式,QVariant(array[i]).toInt()與array.at(i)等價。如果獲取其元素值的無符號數形式,需要QVariant((unsigned char)array[i]).toInt()

5.array.data()指向其儲存的char*

相關推薦

localStorage用法總結

打印 val scrip span ttr aso comm head com API如下表所示 名稱作用 clear 清空localStorage上存儲的數據 getItem 讀取數據 hasOwnProperty 檢查localStorage上是否保

關於QByteArray用法總結

QByteArray array; array.resize(3); array[1]=0x7f; qDebug("I array[1]=0x7f;array 1 is %d,%x",QVariant(array[1]).toInt(),Q

QT專案的總結用法

這次在寒假裡做這個銀行管理系統,收益頗豐,這次這個讓我對QT這個軟體熟悉了許多,也可以自己試著去編寫一些程式對我今後的學習很有幫助。這次做專案時候遇到的一些問題,雖然都解決了,但有些問題需要我們去銘記住1. 接收客戶端發來的資訊對他進行解碼 2. 如何傳送資料給客戶端 3. 

antd + node.js + mongoose總結

node push cse define oos 新博客 mongoose exe ant 最近開發太忙,都沒時間更新博客,想通過這篇博客總結一下相關經驗,以備後續能用到: 一、antd 1.onChange of undefined問題:可能是頁面中表單取了相同的名稱,也

salesforce零基礎學習(七十二)項目中的零碎知識點總結(一)

gin 不同 grant dmi ima -m ron 角色 com 項目終於告一段落,雖然比較苦逼,不過也學到了好多知識,總結一下,以後當作參考。 一.visualforce標簽中使用html相關的屬性使用 曾經看文檔沒有看得仔細,導致開發的時候走了一些彎路。還好得到

SQL知識總結

有用 ati pen -c ble htm png https sub 1、ph師傅一個小竅門 MYSQL字符編碼 當web應用,不允許登陸admin,或者過濾其它關鍵字的時候,可以使用阿拉伯數字%c2進行繞過 user=Q1t0ngW3i%c2&pass=ab@

分治算法總結 x

include tdi 絕對值 spa none 限制 clas string 給定 分治算法的基本思想是將一個規模為 N 的問題分解為 K 個規模較小的子問題,這些子問題相互獨立且與原問題性質相同。求出子問題的解,就可得到原問題的解。         

wmic命令用法

brief isa 讀者 用戶名 creation not 詳細信息 services cname wmic就是wmic.exe,位於windows目錄底下,是一個命令行程序。WMIC可以以兩種模式執行:交互模式(Interactive mode)和非交互模式(Non-In

c++的const總結(2)

通過 con 其他 綁定 strong col 指針和引用 兩個 tle c++的const小總結(1) http://www.cnblogs.com/MyNameIsPc/p/7091631.html 頂層const和底層cnost 先憑經驗區分一下兩者的區別?

做一個總結吧,把別人的經驗拿來總結一下

spa range 簡單的 pan att 切片 XML append filter 構造一個1, 3, 5, 7, ..., 99的列表,可以通過循環實現: 取list的前一半的元素,也可以通過循環實現: 1. L = [] n = 1 while n <= 9

oracle數據庫總結

-- 時間 st3 not null 表名 ref 字符類型 系統 mod ---數據庫小總結--- 1.數據庫的基本常用數據類型 ①varchar2(size)          //浮動長度字符類型:長度會改變,根據用戶輸入的值進行相應的長度改變,節省內存空間

在jetson tx1下編譯安裝opencv3.2的一點總結

detail nvidia 詳細 aar 攝像頭 dev linu title 我們 公司買了個NVIDIA的板子,我在裝opencv3.2的時候成功把系統搞崩了,當然我也不是故意的。 於是乎重頭開始裝了Ubuntu系統,建議弄個vpn,我在網上看到很多博主說網速慢得扣,呵

Hibernate 之主鍵生成策略總結

rem 時間值 多線程 class 判斷 acl 選擇 hiberna bsp 主鍵生成策略大致分兩種: 手工控制策略 自動生成策略【框架自動生成和數據庫自動生成】 手工控制策略: assigned:類型是任意的,需要在 save() 到數據庫前,編碼人員手工設置主鍵

第一本的java 的總結

++ 之前 調用方法 continue 在那 局部變量 出現 buffer public 1.Java常見的註釋有哪些,語法是怎樣的? 1)單行註釋用//表示,編譯器看到//會忽略該行//後的所文本 2)多行註釋/* */表示,編譯器看到/*時會搜索接下來的*/,忽略掉

DJango總結

ror mon man reverse del choices orm blank 避免 views.py def func(request): # 包含所有的請求數據

treetable 用法

tle 編輯 reat isn eight mode gety 插入 -i 插件地址:http://pan.baidu.com/s/1kVf0Kcf <script src="/plugins/jQuery/jQuery-2.1.4.min.js"></s

zTree 用法

hang suse lec eight inpu modal dex role i++ 插件地址:鏈接:http://pan.baidu.com/s/1jHVtyZ0 密碼:7kee <select id="getTree" resultType="java.u

17年項目工作知識點總結------彭記(022)

oca sna 繼承 代碼 java ima 對象 掌握 完全 時間永遠是過的最快的,對於現在的我來說,忙碌的工作中不斷的學習,不斷的成長,已經正能量滿滿。17年已過大半,對這段時間的工作和項目知識點做一個小結,重新整理一下小知識點。總結分一下幾大塊:HTML5:1、新特

SPFA總結

沒有 gen 插入 稀疏圖 最大流 center 考試題 堆優化 由於 關於spfa 知識點 原始版 ---裸 應用: 一、判負環 兩種方法 1.跑單源點,如果某一個點入隊了n-1次,存在 2.對於每個點spfa,如果此源點反被其他點更新,存

瀏覽器css的兼容問題總結------彭記(025)

重要 innertext bar white img ref 繼續 ros 輸入 1. cursor:hand VS cursor:pointer firefox不支持hand,但ie支持pointer 解決方法: 統一使用pointer 2.