【发布时间】:2014-03-11 23:46:23
【问题描述】:
我希望将文本转换为 base 4 (AGCT),首先将其转换为二进制(我已完成此位),然后将其分成 2 位对。
谁能帮我用 vb.net 语法把它变成代码?
如果(二进制字符串的长度是奇数)在字符串的前面(最左边的位置)添加一个零。创建一个空字符串以添加翻译后的数字。虽然二进制的原始字符串不为空 { 仅将二进制字符串的前两位转换为 base-4 数字,并将此数字添加到新字符串的末尾(最右边)索引。在此之后,从二进制字符串中删除相同的两位数字,如果它不为空,则重复。 }
在这种情况下:
Dim Base2Convert As String = ""
For Each C As Char In Result.Text
Dim s As String = System.Convert.ToString(AscW(C), 2).PadLeft(8, "0")
Base2Convert &= s
Next
Result.Text = Base2Convert
Dim Base4Convert As String = ""
For Each C As Char In Result.Text
'//<ADD THE STATEMENT ABOVE AS CODE HERE>//
Base4Convert &= s
Next
Result.Text = Base4Convert
【问题讨论】:
-
为什么绕道base-2?直接转换成base-4即可。
-
这样会更容易吗?我认为根据其他人的建议通过 base 2 转换它更简单。
-
实际上是将第一个循环中的
2更改为4,并且可能会更改填充。您应该尝试理解您正在编写的代码。 -
当然,这就是我要问的原因。进一步加深我的理解。如果我将 2 更改为 4,程序就会崩溃。我不确定将填充更改为什么。
-
啊,我忘记了
Convert有多烂。整个 .NET 框架中最没用的类(包括ArraySegment)。我的错。