将 char[] 数组转换为 byte[] ,反之亦然?C++

Convert array of char[] to byte[] and vice versa? C++(将 char[] 数组转换为 byte[] ,反之亦然?C++)

本文介绍了将 char[] 数组转换为 byte[] ,反之亦然?C++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将字符数组转换为字节(反之亦然)的最佳方法是什么?

What is the best way to convert an array of chars to bytes and vice versa?

解决方案:

void CharToByte(char* chars, byte* bytes, unsigned int count){
    for(unsigned int i = 0; i < count; i++)
        bytes[i] = (byte)chars[i];
}

void ByteToChar(byte* bytes, char* chars, unsigned int count){
    for(unsigned int i = 0; i < count; i++)
         chars[i] = (char)bytes[i];
}

推荐答案

类型 char 是少数几个具有 ANSI 标准保证的大小且大小为 1 字节的类型之一.据我所知,C 并没有直接定义类型字节.然而,拥有一个名为 byte 的类型实际上并不是一个字节大小的类型,这简直是太疯狂了.因此,一个简单的演员表应该可以解决问题.

The type char is one of the few types that has a size guaranteed by the ANSI standard and that size is 1 byte. As far as I know C does not directly define the type byte. However it would be just short of insane to have a type named byte which is not in fact a byte in size. Therefore a simple cast should do the trick.

这篇关于将 char[] 数组转换为 byte[] ,反之亦然?C++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将 char[] 数组转换为 byte[] ,反之亦然?C++

基础教程推荐