次の文字列 "Blue Box"を持っていれば、C#で文字列を構成するビットをどのように取得できますか。どのデータ型を格納しますか?C#で文字列からビットを得る方法はありますか?
文字 "o"バイトとして111を、ビットとして111を得る。 0を切り落としているのですか? "oo"を実行すると、バイト配列の各oに対して111が得られますが、ビットについては28527という値が得られます。なぜですか?
次の文字列 "Blue Box"を持っていれば、C#で文字列を構成するビットをどのように取得できますか。どのデータ型を格納しますか?C#で文字列からビットを得る方法はありますか?
文字 "o"バイトとして111を、ビットとして111を得る。 0を切り落としているのですか? "oo"を実行すると、バイト配列の各oに対して111が得られますが、ビットについては28527という値が得られます。なぜですか?
あなたは文字列形式でビットをしたい場合は、この機能を使用することができますあなたがあなたの「ブルーボックス」の例を使用している場合
public string GetBits(string input)
{
StringBuilder sb = new StringBuilder();
foreach (byte b in Encoding.Unicode.GetBytes(input))
{
sb.Append(Convert.ToString(b, 2));
}
return sb.ToString();
}
をget:
string bitString = GetBits("Blue Box");
// bitString == "100001001101100011101010110010101000000100001001101111011110000"
「ビット」の意味によります。あなたはASCII表現について話していますか? UTF8? UTF16? System.Text.Encoding名前空間を開始する必要があります。
ASCIIは私の権利を制限するでしょう。 – Xaisoft
あなたのテキストのすべてが平易な英語になる場合はありません。 –
次の操作を行うことができます:
byte[] bytes = System.Text.UTF8Encoding.Default.GetBytes("Blue Box");
BitArray bits = new System.Collections.BitArray(bytes);
この記事を読む:すべてのソフトウェア開発者がUnicodeと文字エンコーディングについて知っておくべき絶対最小使用してください!)http://www.joelonsoftware.com/articles/Unicode.html – mmcdole