Tôi có chuỗi ký tự tôi ăn đến một chức năng giải mã:Làm thế nào để thoát khỏi hoặc chấm dứt một dãy thoát trong C
Ví dụ:
"\x05three"
(Vâng, đó là một chuỗi Pascal kiểu . chức năng chuyển chuỗi dài-tiền tố để null-terminated strings)
tôi đã viết một vài trường hợp thử nghiệm, trong đó:.
"\x04four"
Và với sự ngạc nhiên của tôi, đó là "Oour". Nhìn gần hơn, nó chỉ ra rằng đặc điểm kỹ thuật trên escape sequences cho Visual Studio cho phép, trình tự của tôi về cơ bản được hiểu là \x04f
, sẽ là 79 trong cơ sở 10 (do đó chuỗi kết quả của tôi trở thành "Oour", 79 là 'O')
giải pháp của tôi chỉ đơn giản là để phân chia các chuỗi:
"\x04" "four"
câu hỏi đặt ra: có một cách khác để thoát khỏi hoặc chấm dứt một dãy thoát?
'0x04f' là 4 * 16 + 15 = 79, vì vậy 'O'. –
0x4f (hex) là 79 chữ số thập phân, là chữ "O". 80 chữ số thập phân (không phải 0x80 là số hex) là chữ cái P. 0x80 là 128 chữ số thập phân, không phải là ký tự ascii chuẩn –
Cảm ơn cả hai. Tôi xấu hổ bây giờ. Tôi tự hỏi liệu tôi có nắm lấy cái hộp thiếc sáng nay không ... – MPelletier