二进制字符串转换成中文字符串

//Value:二进制字符串如:11000111

Function ConvertBinToStr(Value : ansistring):ansistring; //把二进制数据转化为字符串
Var
tempHex : ansistring;
i, tempInt : integer;
begin
Result := '';
if trim(Value) = '' then Exit;
tempHex := BinToHexEachOther(Value,true);//二进制转成十六进制
i := 0;
Repeat
begin
i := i + 1;
tempInt := HexCharToInt(tempHex[i]);
i := i + 1;
tempInt := tempInt * 16 + HexCharToInt(tempHex[i]);
//以上将两位十六进制数转变为一个十进制数
Result := Result + AnsiChar(TempInt); //转成ASCII码
end;
Until i >= length(tempHex)
end;

//把二进制串转换成十六进制串或相反
function BinToHexEachOther(ValueA : string; Action : Boolean) : string;
var
ValueArray1 : Array [0..15] of string[4];
ValueArray2 : Array [0..15] of char;
i : shortint;
begin
//数组初始化
ValueArray1[0] := '0000'; ValueArray1[1] := '0001'; ValueArray1[2] := '0010';
ValueArray1[3] := '0011'; ValueArray1[4] := '0100'; ValueArray1[5] := '0101';
ValueArray1[6] := '0110'; ValueArray1[7] := '0111'; ValueArray1[8] := '1000';
ValueArray1[9] := '1001'; ValueArray1[10] := '1010'; ValueArray1[11] := '1011';
ValueArray1[12] := '1100'; ValueArray1[13] := '1101'; ValueArray1[14] := '1110';
ValueArray1[15] := '1111';
for i := 0 to 15 do
if i >= 10 then ValueArray2[i] := chr(65 + (i - 10))
else ValueArray2[i] := inttostr(i)[1];

Result := '';
if Action then
begin //二进制串转换成十六进制串
if (Length(ValueA) MOD 4 <> 0) then
ValueA := stringofchar('0',Length(ValueA) MOD 4) + ValueA;
while (Length(ValueA) >= 4) do
begin
for i := 0 to 15 do
if Copy(ValueA,1,4) = ValueArray1[i] then
Result := Result + ValueArray2[i];
ValueA := Copy(ValueA,5,Length(ValueA) - 4);
end;
end
else begin //十六进制串转换成二进制串
while (Length(ValueA) >= 1) do
begin
for i := 0 to 15 do
if Copy(ValueA,1,1) = ValueArray2[i] then
Result := Result + ValueArray1[i];
ValueA := Copy(ValueA,2,Length(ValueA) - 1);
end;
end;
end;

//十六进制字符转换成整数

function HexCharToInt(HexToken : ansichar):Integer;
begin
Result:=0;
if (HexToken>#47) and (HexToken<#58) then { chars 0....9 }
Result:=Ord(HexToken)-48
else
if (HexToken>#64) and (HexToken<#71) then { chars A....F }
Result:=Ord(HexToken)-65 + 10;
end;

### 回答1: LabVIEW中的二进制字符串换可以使用内置的函数来实现。在LabVIEW中,可以使用“Binary String to Number”函数将二进制字符串换为数字,或者使用“Number to Binary String”函数将数字换为二进制字符串。 要将二进制字符串换为数字,可以按照以下步骤进行: 1. 将二进制字符串作为输入传递给“Binary String to Number”函数。 2. 选择适当的输出类型,如整数或浮点数。 3. 单击“运行”按钮或通过适当的触发器来执行换。 4. 输出该函数生成的数字变量。 要将数字换为二进制字符串,可以按照以下步骤进行: 1. 将数字作为输入传递给“Number to Binary String”函数。 2. 选择适当的输出类型,例如8位或16位二进制字符串。 3. 单击“运行”按钮或通过适当的触发器来执行换。 4. 输出该函数生成的二进制字符串变量。 请注意,在执行二进制字符串换之前,需要确保提供的字符串或数字是有效的二进制表示。如果提供的字符串或数字无效,换过程可能会失败。 LabVIEW的二进制字符串换功能非常灵活,可以根据需要进行定制和扩展。通过使用适当的函数和参数,可以实现从不同类型的二进制字符串换为数字,并根据需要进行格式化和处理。 希望以上回答对您有所帮助! ### 回答2: LabVIEW是一种流程图编程语言和开发环境,用于实现各种工程和科学应用。在LabVIEW中,二进制字符串换涉及将二进制数据与字符串之间相互换。 在LabVIEW中,可以使用字符串二进制数据之间的换函数来实现这种换。 要将二进制数据换为字符串,可以使用LabVIEW中的NumToStr函数。此函数可以将二进制数据换为十进制,然后将其换为字符串。您可以指定输出字符串的格式,如十六进制或二进制。 要将字符串换为二进制数据,可以使用LabVIEW中的StrToNum函数。此函数可以将字符串解析为数字,并将其换为二进制数据。同样地,您可以指定输入字符串的格式,如十六进制或二进制。 除了NumToStr和StrToNum函数之外,LabVIEW还提供了其他一些函数来处理二进制字符串换。例如,可以使用位操作函数来将二进制字符串换为二进制数组,然后进行进一步的处理或分析。 LabVIEW还提供了许多功能强大的工具箱和工具,可帮助用户更灵活地处理二进制字符串换。这些工具包括比特操作、字符串操作、二进制文件读写等。 总之,LabVIEW是一个强大且灵活的工具,用于实现二进制字符串换。无论是将二进制数据换为字符串,还是将字符串换为二进制数据,LabVIEW都提供了丰富的函数和工具,使用户可以轻松地完成换任务。 ### 回答3: LabVIEW中可以使用一些函数来实现二进制字符串换。下面是一个示例: 1. 使用字符串二进制函数(String To Binary)将二进制字符串换为二进制数组,可以设置二进制格式为8位或16位。这个函数将二进制字符串换为二进制数值数组,每个元素都代表一个二进制位。 2. 如果要将二进制数组换为十进制数值,可以使用二进制到十进制函数(Binary To Decimal)。这个函数将二进制数组换为代表十进制数值的数组。 3. 如果要将十进制数组换为十六进制字符串,可以使用十进制到十六进制函数(Decimal To Hexadecimal)。这个函数将十进制数组换为十六进制字符串数组。 4. 如果要将十六进制字符串换为十进制数组,可以使用十六进制到十进制函数(Hexadecimal To Decimal)。这个函数将十六进制字符串数组换为十进制数值数组。 以上是LabVIEW中一些常用的二进制字符串换方法。通过使用这些函数,可以方便地进行二进制字符串和其他进制数值之间的换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值