十六进制和字符串的相互转换


1.字符串转换十六进制   比如 FF ->0XFF

NSData* convert(NSString* str){
    
    const char* cs = str.UTF8String;
    
    int count = (int)strlen(cs);
    int8_t  bytes[count / 2];
    for(int i = 0; i<count; i+=2){
        char c1 = *(cs + i);
        char c2 = *(cs + i + 1);
        if(C2I(c1) >= 0 && C2I(c2) >= 0){
            bytes[i / 2] = C2I(c1) * 16 + C2I(c2);
            
        }else{
            return nil;
        }
    }
    return [NSData dataWithBytes:bytes length:count /2];
}


2.十六进制转换十进制  比如 0x37 -> 55


-(NSString *)stringForData1:(NSData *)data{
    uint8_t* a = (uint8_t*) [data bytes];
    NSString *str=[NSString stringWithFormat:@"%d",*a];
    return str;
}

3.十六进制转换字符串 比如 0XFF ->FF

NSString *newHexStr = [NSString stringWithFormat:@"%0.2X",0xff&0xff];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些简单的代码示例来实现该功能。 首先,您需要一个文本框用于输入十六进制字符串,以及一个按钮来触发转换操作。代码示例如下所示: ```html <template> <div> <label>输入十六进制字符串:</label> <input type="text" v-model="hexString"/> <button @click="hexToString">转换字符串</button> <button @click="stringToHex">转换十六进制</button> <div v-if="result"> 转换结果:<br> {{ result }} </div> </div> </template> ``` 接下来是相关的 Vue 组件代码。`hexString` 变量用于绑定输入框中的值,`result` 变量用于存储转换结果。 ```javascript <script> export default { data() { return { hexString: '', result: '' } }, methods: { hexToString() { // 把十六进制字符串转换字符串 const str = this.hex2str(this.hexString); this.result = str; }, stringToHex() { // 把字符串转换十六进制字符串 const hex = this.str2hex(this.hexString); this.result = hex; }, hex2str(hex) { let result = ''; for (let i = 0; i < hex.length; i += 2) { const charCode = parseInt(hex.substr(i, 2), 16); result += String.fromCharCode(charCode); } return result; }, str2hex(str) { let result = ''; for (let i = 0; i < str.length; i++) { const charCode = str.charCodeAt(i); const hexCode = charCode.toString(16); result += hexCode; } return result; } } } </script> ``` `hex2str` 方法将输入的十六进制字符串转换字符串,`str2hex` 方法将输入的字符串转换十六进制字符串。这两个方法都将转换结果存储在 `result` 变量中。 代码示例只是简单实现了该功能,您可以根据自己的需要对其进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值