52yaoer
52yaoer
  • 发布:2024-04-18 11:22
  • 更新:2024-04-19 20:02
  • 阅读:87

UTS中想把以下object-c的代码转换为uts实现方式。有没有什么快速简便的方法呢?

分类:uni-app x
/*  
     * 将字符串编码成16进制数字,适用于所有字符(包括中文)  
     */  
-(NSString *)str2HexStr:(NSString *)string{  
    NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding];  
    Byte *bytes = (Byte *)[myD bytes];  
    //下面是Byte 转换为16进制。  
    NSString *hexStr=@"";  
    for(int i=0;i<[myD length];i++)  
    {  
        NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16进制数  
        if([newHexStr length]==1)  
        hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr];  
        else  
        hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr];  
    }  
    return [hexStr uppercaseString];  
}  

/*  
     * 将16进制数字解码成字符串,适用于所有字符(包括中文)  
     */  
-(NSString *)hexStr2Str:(NSString *)hexString { //  
    char *myBuffer = (char *)malloc((int)[hexString length] / 2 + 1);  
    bzero(myBuffer, [hexString length] / 2 + 1);  
    for (int i = 0; i < [hexString length] - 1; i += 2) {  
        unsigned int anInt;  
        NSString * hexCharStr = [hexString substringWithRange:NSMakeRange(i, 2)];  
        NSScanner * scanner = [[NSScanner alloc] initWithString:hexCharStr];  
        [scanner scanHexInt:&anInt];  
        myBuffer[i / 2] = (char)anInt;  
    }  
    NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:4];  
    return unicodeString;  
}
2024-04-18 11:22 负责人:无 分享
已邀请:
xzh

xzh

uts现在才出来没多久,很多语法还没稳定下来,现在没什么工具能直接转的。swift转uts简单点,所以使用ai把oc代码转swift代码,然后再自己转成uts

52yaoer

52yaoer (作者)

哎。只能这样了。目前的做法就是自己弄lib包引入使用了。

l***@sina.cn

l***@sina.cn

找一个支持足够长的上下文的 AI,把 uts的语法文档全部扔进去,然后让他把 oc 转成 uts试试看

要回复问题请先登录注册