新型冠狀病毒轉二進位制(首發)

第三女神發表於2020-02-07

新型冠狀病毒轉二進位制(首發)

視訊

將“新型冠狀病毒”轉換為二進位制???

視訊地址:https://www.bilibili.com/video/av86588592


Java

public class Main {

    public static void main(String[] args) {
        String str = toBinary("新型冠狀病毒");
        System.out.println(str);
    }

    private static String toBinary(String str) {
        char[] strChar = str.toCharArray();
        StringBuilder result = new StringBuilder();
        for (char c : strChar) {
            result.append(Integer.toBinaryString(c));
        }
        return result.toString();
    }
}


JavaScript

function strToBinary(str){
    var result = [];
    var list = str.split("");
    for(var i=0;i<list.length;i++){
        var item = list[i];
        var binaryStr = item.charCodeAt().toString(2);
        result.push(binartStr);
    }   
    return result.join("");
}

console.log(strToBinary("新型冠狀病毒"));

Php

function StrToBin($str){
    $arr = preg_split('/(?<!^)(?!$)/u', $str);
    foreach($arr as &$v){
        $temp = unpack('H*', $v);
        $v = base_convert($temp[1], 16, 2);
        unset($temp);
    }
 
    return join(' ',$arr);
}

echo StrToBin("新型冠狀病毒");

Python

def encode(s):
	return ' '.join([bin(ord(c)).replace('0b', '') for c in s])
			
def decode(s):
	return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])

var1 = encode("新型冠狀病毒")

print(var1)
print(decode(var1))

var1Arr = var1.split(" ")

for i in range(len(var1Arr)):
	print(var1Arr[i])


C++


#include <iostream>
#include <stdlib.h>

using namespace std;
 
void outc(char c)
{
	unsigned char k = 0x80
	for (int i=0; i<8; i++, k >>= 1){
		if (c & k){
			printf("1");
		} else{
			printf("0");
		}
	}
	printf(" ");
}
 
int main (){
	char str[]="新型冠狀病毒";
	for(int i=0; str[i]; i++){
		outc(str[i]);
}
system("pause");
return true;

相關文章