2011-12-16 13 views
9

プログラミングでのUnicode Character 'BACKSPACE'(U + 0008)の目的は何ですか?どのようなアプリケーションを使用できますか?Unicode "Backspace" U + 0008の目的は何ですか?

+3

特定のUnicodeシンボルの目的を判断できない場合は、U + 2603やU + 1F4A9と同様に、おそらく「パーソナルエンターテイメント」カテゴリに入ります。 :-) –

+1

実際には、両方の文字の本当の目的は、それらの文字を含む他の文字セット(この場合は日本語の両方)との完全な互換性です。 – duskwuff

答えて

12

um、それはバックスペース文字です。

ターミナルへの出力時に、通常、カーソルは設定に応じて1つ左の位置に移動します。入力時には、通常、最後に入力された文字がアプリケーションと端末の設定に応じて消去されますが、DEL/DELETE文字もこの目的で使用されます。典型的にはバックスペース、削除文字のその作用がないメモリに、ディスプレイのみに発生することまたはコントロール-H

注意を押すことによって入力することができます。実行中のプログラム内の文字列には、バックスペースを含め、文字のシーケンス(言語に応じて多少の違いがあります)を含めることができます。その文脈では、それは一般的にちょうど別の文字です。たとえば、C strlen("abcd\b")は5ではなく、3である。

Cおよび他の多くの言語では、プログラムソースには'\b'と表記されています。時には^Hと表示されます。

すべてこれはUnicodeとして表現されているかどうかにかかわらず適用されます。バックスペース文字は大部分またはすべての文字セットに共通です:ASCII、Latin-1、さまざまなUnicode表現 - EBCDICにもバックスペース文字がありますが(コードは異なります)。

+0

文字列に\ bを追加する方がstring = substring()などを呼び出すより効率的ですか? "this \ b"の文字列の長さは3か5かですか? – skibulk

+2

'' this \ b "'は長さが5です。文字列にバックスペース文字を追加しても、文字列から文字は削除されません。文字を削除する動作は、メモリ上ではなくディスプレイ上で行われます。 –

+1

'\ b'が画面の代わりにプリンタに書き込まれるとき、削除の代わりに上書きされることに注意してください。これにより、アンダーライン( 'A \ b_')、太字(' A \ bA')、アクセント付き文字( 'n \ b〜')を実装する基本的な方法が可能になりました。 – dan04

関連する問題