Vb.net 将二进制转换为4进制

Vb.net 将二进制转换为4进制,vb.net,string,binary,numbers,base,Vb.net,String,Binary,Numbers,Base,我希望实现的目标: 我想把文本转换成DNA(这是一个碱基4系统,“a,G,T,c”) 我计划如何做: 将文本字符串转换为二进制 Dim BinaryConvert As String = "" For Each C As Char In Textbox1.Text Dim s As String = System.Convert.ToString(AscW(C), 2).PadLeft(8, "0") BinaryC

我希望实现的目标:

我想把文本转换成DNA(这是一个碱基4系统,“a,G,T,c”)

我计划如何做:

将文本字符串转换为二进制

        Dim BinaryConvert As String = ""
        For Each C As Char In Textbox1.Text
            Dim s As String = System.Convert.ToString(AscW(C), 2).PadLeft(8, "0")
            BinaryConvert &= s
        Next
        Textbox1.Text = BinaryConvert '//Changes the textbox1.Text into binary form
然后通过伪码解决方案将二进制转换为基4:

如果(二进制字符串的长度为奇数),则在字符串的前面(最左边的位置)添加一个零。 创建一个空字符串以向其中添加翻译后的数字。 而二进制文件的原始字符串不是空的{ 仅将二进制字符串的前两位转换为以4为基数的数字,并将此数字添加到新字符串的末尾(最右边)索引中。 然后,从二进制字符串中删除相同的两个数字,如果不是空的,则重复该操作。 }

将二进制文件转换为DNA的想法是简单地将GT设置为1,将ca设置为0(G=T=1,a=c=0)

所以我要做的就是先把字符串转换成二进制,然后再转换成4进制,以便把文本转换成遗传代码。你能帮我写把二进制转换成4进制的代码吗


谢谢你的帮助

从基2转换为基4非常简单。由于4本身是2的二次幂,这意味着您可以简单地组合两个位来创建一个基4位(2位可以表示4个可能的值,而1个基4位也可以表示4个可能的值)。例如:


11100100(基数2)=3210(基数4)

感谢您的回复!我可以把0123改为aTGc吗?如果你把GT=1和ac=0赋值,我仍然有点困惑,你怎么会有基数4。在我看来,您需要为每个字母指定一个2位的值,而不是1位的值。例如a=00,c=01,G=10,T=11。这不是GT=1和ac=0,而是G=T=1和a=c=0。这样行吗?伪代码解决方案:如果(二进制字符串的长度是奇数),则在字符串的前面(最左边的位置)添加一个零。创建一个空字符串以向其中添加翻译后的数字。当二进制的原始字符串不为空时{将二进制字符串的前两位仅转换为一个以4为基数的数字,并将此数字添加到新字符串的末尾(最右边)索引中。之后,从二进制字符串中删除相同的两位数字,如果不为空,则重复。}您的伪代码似乎是将二进制代码转换为基4的可靠解决方案。现在这都是一个执行的问题。