我们不讨论与字符集有关的内容,只讨论在字节流传递过程中的问题。

我们在做一系统操作时会需要使用到数据流,比如接收网络数据,文件数据,图片数据,原始数据大多是以byte数组的形式提供,与其它语言(c#,java)交互时也是如此。

c++中byte数组是不能传递的,byte指针倒是可以传递,但我一直拿不到正确的长度(或许只是我没找对方法)。我在网上也很少能找到string转byte[]或byte[]转string的例子,即使有,基本上也不能使用。

最终找到的方法是使用std::string代替byte[]进行接口传递,比如方法参数,一个string参数就够了。但如果传递byte指针,则再需要传递一个长度参数,太过麻烦。

byte数组转string:

    byte key[];
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
key[] = ; char* p = new char[sizeof(key)];
memcpy(p,key,sizeof(key));
p[sizeof(key)] = ;
string str(p);

string 转 byte指针:

byte* px = (byte*)str.c_str();
int len = str.length();

c++中byte数组与字符串的转化的更多相关文章

  1. php byte数组与字符串转换类

    <?php /** * byte数组与字符串转化类 * @author ZT */ class Bytes { /** * 转换一个string字符串为byte数组 * @param $str ...

  2. 【转】java中byte数组与int类型的转换(两种方式)----不错

    原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

  3. byte[] 数组和字符串的转换,与byte[] 数组和int类型的之间的转化

    我们先来看看byte bool  int ushort  等的定义 首先时byte[]数组与string之间的转换 string 转换位byte[] 数组 string str = "1-1 ...

  4. VB Byte数组转字符串问题

    在c#中,byte转换为字符串的过程中,如果byte的值为0,则转换成字符串时变为’\0’字符,’\0’字符在C#中意味着字符串结束,如果后面再有字符,则读取字符串的程序也不能读取和显示出来. 但是在 ...

  5. JavaScript中的数组和字符串

    知识内容: 1.JavaScript中的数组 2.JavaScript中的字符串 一.JavaScript中的数组 1.JavaScript中的数组是什么 数组指的是数据的有序列表,每种语言基本上都有 ...

  6. java 中byte[] 数组的合并

    因工作的需要,在从事 .Net 的开发中接触到了 Java, 虽然在大学的时候学过一段Java 编程,但并没有在实际的工作中使用过, Java 和 .Net的C#语法很相似,都是面向对象的,感觉在语法 ...

  7. C语言中字符数组和字符串指针分析

    这几天搞Unix上的C程序,里面用到了很多字符数组和字符串指针,我记得在学完C语言后相当一段时间里,对指针这个东西还是模模糊糊,后来工作也没怎么 用到过C,虽然网上这类的文章也有很多,还是决定自己在这 ...

  8. [转载] java中byte数组与int,long,short间的转换

    文章转载自http://blog.csdn.net/leetcworks/article/details/7390731 package com.util; /** * * <ul> * ...

  9. Byte数组和字符串相互转换的问题

    第一:需求:将文件转成byte数组,之后转成字符串返回.过滤器接收到响应内容后,需要将响应的内容转成byte数组. 第二:我刚开始的做法: Controller:byteArr = Conversio ...

随机推荐

  1. KVM虚拟化网卡管理

    brctl常用命令 查看当前虚拟网桥状态 brctl show 添加一个网桥 addbr 删除一个网桥 delbr 添加网口 addif 删除网口 delif VALN LAN 表示 Local Ar ...

  2. docker 安装与使用的相关问题

    Error response from daemon: i/o timeout $ sudo docker search centos Error response from daemon: Get ...

  3. zlib的压缩与解压

    http://zlibnet.codeplex.com/releases/view/629717 using ZLibNet; string str = "ccc"; byte [ ...

  4. 【译文】Git merge 和 Git rebase比较

    [译文]Git merge 和 Git rebase比较 原创: 胡江华 胡同学和朋友们的成长日记 2017-03-22 git rebase 这个命令经常被人认为是一种Git巫术,初学者应该避而远之 ...

  5. P3332 [ZJOI2013]K大数查询 整体二分

    终于入门整体二分了,勉勉强强算是搞懂了一个题目吧. 整体二分很多时候可以比较好的离线处理区间\(K\)大值的相关问题.考虑算法流程: 操作队列\(arr\),其中有询问和修改两类操作. 每次在答案的可 ...

  6. CodeForces-437C(贪心)

    链接: https://vjudge.net/problem/CodeForces-437C 题意: On Children's Day, the child got a toy from Delay ...

  7. 【leetcode】1222. Queens That Can Attack the King

    题目如下: On an 8x8 chessboard, there can be multiple Black Queens and one White King. Given an array of ...

  8. 【leetcode】1210. Minimum Moves to Reach Target with Rotations

    题目如下: In an n*n grid, there is a snake that spans 2 cells and starts moving from the top left corner ...

  9. python 面向对象_3

    析构函数:实例被销毁时候自动调用的方法,(例如关闭数据库,可以将关闭数据库的代码写到析构函数里) class Person: def __init__(self): print('构造函数') def ...

  10. csp-s2019 AFO记

    DAY 0 上午出发前大家都很颓废的样子. 我因为还没有实现刷完NOIP专题的所有题的目标而去憨比的学DDP. 最后还是不会,保卫王国是写不成了…… 该走了,学校领导来开了个欢送会,祝福我们从里WA到 ...