1. 程式人生 > >CString型別轉換成16進位制數的問題

CString型別轉換成16進位制數的問題

最近工作中 遇到CString到Byte十六進位制間的互轉,留個筆記下來:

一個CString型別的數要轉換成16進位制的數,但是除了型別發生改變之外,所見的數是一樣的。

比如:一個CString型別的數

CString a(“53 4d”); 

 轉換成16進位制之後仍然是0x53,0x4d.兩者的不同之處在於:a是一個字串,0x55和0x66只不過是其內容。

方法一:

包含檔案和庫
#include <shlwapi.h>
#pragma comment(lib, "shlwapi.lib")

//StrToIntEx 每次最多隻能轉換一個最大32位的十六進位制數


用法:
CString x = TEXT("0xAABBCCDD");
int o = 0;
::StrToIntEx(x.GetString(), STIF_SUPPORT_HEX, o);

這樣o = 0xAABBCCDD

方法二:

CString a(“53 4d”); 

BYTE x[2];

x[0] = strtol(a.Left(2),NULL,16); //轉換儲存

x[1] = strtol(a.Right(2),NULL,16); //轉換儲存

相關推薦

CString型別轉換16的問題

最近工作中 遇到CString到Byte十六進位制間的互轉,留個筆記下來: 一個CString型別的數要轉換成16進位制的數,但是除了型別發生改變之外,所見的數是一樣的。 比如:一個CString型別的數 CString a(“53 4d”);   轉換成16進位制之後仍

bmp圖片轉換16資料

最近在開發中要在aboot中顯示一張圖片。但是發現aboot中顯示圖片不是直接拿圖片檔案來顯示的,而是把一個16進位制的資料序列依次往螢幕上搬運,就可以了。 那問題是,怎麼把一張圖片轉換成16進位制的資料序列? 在網上也找了一些資料,也諮詢了一些同事,最後終於搞定,下

關於MD5加密中byte陣列轉換16字串的研究

簡介:四種md5加密,主要區別在於將md5加密後的byte陣列轉換為16進位制字串的方式。 1.第一種,使用bigInteger進行轉換 public static String md5Encrypt(String src){ try

將utf-8格式的漢字轉換16

//字串轉換成16進位制 function str2hex($str){ $hex = ''; for($i=0,$length=mb_strlen($str); $i<$length; $i++){ $hex .= dechex(or

scala 樣例程式碼 BinToHex 將二進位制檔案轉換16字元

如題: 練習程式碼, 詳細在Github上scala 案例下面 package info.aoye import java.io.{File, FileInputStream} import j

Leetcode:405.數字轉換16

給定一個整數,編寫一個演算法將這個數轉換為十六進位制數。對於負整數,我們通常使用 補碼運算 方法。 注意: 十六進位制中所有字母(a-f)都必須是小寫。 十六進位制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元'0'來表示;對於其他情況,十六進

輸入一個整數,將其轉換輸出

輸入一個整數,將其轉換成八進位制數輸出。   輸入:12    輸出:14 輸入:9    輸出:11 #include <iostream> using namespace std; i

輸入一個十進位制正整數,將該轉換n

 #include<stdio.h> #define  N  20 int main() { int a,n,c,k,i; char str[N]; printf("輸入要轉換的數a\n"); scanf("%d",&a); printf("輸入要轉換為的進位制n\n"); scanf("

c語言將16轉換10

前言 要轉換的字串中包含可選的字首0x或者0X, 程式碼 /* * Created by sutaoyu on 2018/10/2 * */ #include<stdio.h> #in

C中16轉換10函式

第一種情況:16進制中不含字母(a,b,c,d,e,f) long HexToDec(int nSource) { long nResult=0; int k=16;

byte陣列轉16字串的一種實現方式

public String bytes2HexStr(byte[] byteArr) { String hexString = "0123456789ABCDEF"; StringBuilder sb = new StringBuilder(byteArr.lengt

MSSQL 字串轉16函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Python實現:十進位制與(2~16)之間的互相轉換

(最開始源於牛客網上的一道程式設計題 : [程式設計題] 數制轉換)   將X進位制轉為int十進位制的功能函式:(乘X次方各位數的加和法) # 將X進位制轉為int十進位制的功能函式:(乘X次方各位數的加和法) def XToInt(strNum,X): sum = 0

python棧實現十進位制轉換x

from pythonds import Stack def devideBybase(decnumber,base): #base==x remstack = Stack() #空棧用來儲存餘數。 while decnumber>

PTA - Q轉換T (十以內任意轉換

7-12 Q進位制轉換成T進位制 (20 分) 給定一個整數Q(2<=Q<=10),一個非空字串,以及另一個整數T(2<=T<=10), 程式設計要求過濾掉字串中所有非Q進位制數對應的字元組成一個新的字串,該字串無正負號,將該字串表示的Q進位制數轉換為

c語言將十進位制轉換16的函式

有3種方式實現,其中兩種是使用系統函式,另一種是直接自己編寫。 使用系統函式實現要加入#include <stdlib.h>,自己編寫則不需要這個標頭檔案。 下面的程式碼就是3種方式的實現,包括2位的整數和任意整數(2的31次方以內)都可以。可自己選擇需要的實現

android開發中遇到的轉換16資料流轉和字串的相互轉換

最近開發的程式是利用無線網路,收發資料,其中,接收和傳送的格式是16進位制位元組陣列 byte[],而顯示到介面中則不可能把一堆的位元組流顯示出來。因此,需要進行一下轉換。  直接說轉換的演算法吧        一、16進位制位元組陣列轉換成字串 核心的語句就一句getSt

IP地址轉換16輸出

輸入 : 1.168.229.200 輸出 :0x01 0xa8 0xe5 0xc8 #include <arpa/inet.h> #include <netinet/in.h> #include <iomanip> #i

彙編:116到ASCII碼轉換

;============================ ;1位16進位制數到ASCII碼轉換 ; { X+30H (0≤X≤9) ;Y= { ; { X+37H (0AH≤X≤0FH) DATAS SEGMENT Num db 9 ASCII db ? DATAS ends CODES S

十六顏色值和rgb顏色值互相轉換16的顏色轉為rgb顏色

  在之前的一篇文章《將16進位制的顏色轉為rgb顏色》中,曾經寫過將16進位制的顏色轉換為rgb顏色。   當然了,今天再看,還是有很多可以優化的地方,所以對之前的程式碼重構了一遍,並且同時寫了一個反向轉換(也就是將rgb顏色值轉換為字串形式的16進位制的顏色值)函式。   16進位制轉換rgb: