2011-12-16 39 views
9

Mục đích của BACKSPACE Unicode Character '(U + 0008) trong lập trình là gì? Ứng dụng nào có thể được sử dụng cho?Mục đích của Unicode "Backspace" U + 0008 là gì?

+3

Nếu bạn không thể xác định mục đích cho một biểu tượng Unicode cụ thể, nó có thể đi vào danh mục "giải trí cá nhân", giống như U + 2603 và U + 1F4A9. :-) –

+1

Có thực sự là một mục đích thực sự cho cả hai nhân vật: khả năng tương thích đầy đủ với các bộ ký tự khác (cả gốc Nhật Bản, trong trường hợp này!) Bao gồm các ký tự đó. – duskwuff

Trả lời

12

Um, đó là ký tự backspace.

Khi xuất ra thiết bị đầu cuối, nó thường di chuyển con trỏ một vị trí sang trái (tùy thuộc vào cài đặt). Khi nhập, nó thường xóa ký tự được nhập cuối cùng (tùy thuộc vào cài đặt ứng dụng và thiết bị đầu cuối), mặc dù ký tự DEL/DELETE cũng được sử dụng cho mục đích này. Thông thường nó có thể được nhập bằng cách nhấn Backspace hay Control-H

Lưu ý rằng hành động của nhân vật xóa chỉ xảy ra trên một màn hình, chứ không phải trong bộ nhớ. Một chuỗi trong một chương trình đang chạy có thể chứa bất kỳ chuỗi ký tự nào (tùy thuộc vào ngôn ngữ), bao gồm cả backspace. Trong bối cảnh đó, nó thường chỉ là một nhân vật khác. Ví dụ: trong C strlen("abcd\b") là 5, không phải 3.

Trong C và một số ngôn ngữ khác, nó được thể hiện trong nguồn chương trình là '\b'. Đôi khi nó được hiển thị là ^H.

Tất cả điều này áp dụng cho dù nó được biểu thị dưới dạng Unicode hay không. Ký tự backspace là phổ biến đối với hầu hết hoặc tất cả các bộ ký tự: ASCII, Latin-1, các biểu diễn Unicode khác nhau - thậm chí EBCDIC có một ký tự backspace (nhưng với một mã khác).

+0

Vì vậy, việc thêm \ b vào một chuỗi là hiệu quả hơn gọi string = substring() hoặc một cái gì đó? Chuỗi "này \ b" có chiều dài 3 hoặc 5 không? – skibulk

+2

'" this \ b "' có chiều dài là 5. Thêm ký tự backspace vào một chuỗi không loại bỏ các ký tự khỏi chuỗi. Hành động xóa ký tự diễn ra trên màn hình, không xuất hiện trong bộ nhớ. –

+1

Lưu ý rằng khi '\ b' được ghi vào máy in thay vì màn hình, nó sẽ thay đổi quá mức thay vì xóa. Điều này cho phép một cách nguyên thủy để thực hiện gạch dưới ('A \ b_'), in đậm (' A \ bA'), hoặc ký tự có dấu ('n \ b ~'). – dan04

Các vấn đề liên quan