如何将double数组转换为字符串

时间:2014-05-27 10:32:38

标签: string matlab

你好我输入了一些文本并将其转换为二进制值。这些二进制值存储在数据类型为double的数组中。现在我想从该数组中获取包含二进制值的char数组。

text2='hello how are u';
text3=double(text2);
nValues = numel(text3);
B=8;
bit_stream = zeros(1,nValues*B);
% eight bit for binary representation of each character.
for iBit = 1:B                    %# Loop over the bits
bit_stream(iBit:B:end) = bitget(text3,B-iBit+1);  %# Get the bit values
end
bitstream=bit_stream;

如何执行反之亦然..

1 个答案:

答案 0 :(得分:0)

text2_recovered = char( 2.^(7:-1:0) * reshape(bit_stream, 8, []) );

说明:

  1. 以8(reshape(...,8,[]));
  2. 为一组排列位
  3. 将每个组转换为字节值(2.^(7:-1:0)*...);
  4. 将这些字节转换为字符(char)。