【问题标题】:Convert a text to binary in c# taking Enter key as an input在 c# 中将文本转换为二进制,以 Enter 键作为输入
【发布时间】:2018-12-30 00:14:35
【问题描述】:

我对 c# 很陌生,我正在尝试制作一个 C# 程序来将字符串输入转换为二进制序列,甚至是特殊字符(例如 "SpaceBar key" 返回 00100000)。代码工作得很好,但我遇到的问题是我想将“Enter Key”作为输入。因为每当我按下 Enter 时,它都会运行代码。

这是我的代码,

using System;

namespace StringToBinary
{
class Program
{
    static void Main(string[] args)
    {
        Console.Write("Enter text you wish to convert:");
       string a = Console.ReadLine();
        foreach (char c in a)
            Console.WriteLine(Convert.ToString(c, 2).PadLeft(8, '0'));
        Console.ReadLine();
    }
}
}

感谢您的帮助。

【问题讨论】:

  • 您想要实现的行为究竟是什么?您需要某种键来告诉代码运行,否则您将无休止地输入无所事事。或者您进行实时翻译之类的操作,但随后删除错字或查看您输入的字符串等操作具有挑战性。另一种方法是从控制台或 GUI 应用程序读取文件而不是文本。

标签: c# string binary


【解决方案1】:

从这里开始:

Console.WriteLine("Enter text you wish to convert (ctrl-c to brek):");

while (true)
{
    ConsoleKeyInfo cki = Console.ReadKey(true);
    Console.WriteLine($"Key: {cki.Key}, Char: {cki.KeyChar}, (hex: {((ushort)cki.KeyChar).ToString("X4")}, binary: {Convert.ToString((ushort)cki.KeyChar, 2).PadLeft(8, '0')}), Modifiers: {cki.Modifiers}");
}

稍微运行一下(尝试各种组合键),然后确定您要准确处理的内容。

【讨论】:

  • 谢谢帮了我很多。
猜你喜欢
  • 2018-06-15
  • 2023-04-04
  • 1970-01-01
  • 2014-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
  • 2021-05-08
相关资源
最近更新 更多