Tôi đang phát triển một ứng dụng nhúng trong C, phải tuân theo các tiêu chuẩn MISRA. Nó sẽ liên quan đến việc sử dụng các chuỗi có dấu hiệu Ba Lan (ąęćłńśźż). Tôi đã thử mã hóa chúng bằng cách sử dụng trình tự octal/hex escape:Làm cách nào để mã hóa các dấu hiệu Đông Âu (Ba Lan) bằng các chuỗi thoát đơn giản?
dictionary[archive_error] = "B" "\x88" "ąd pamieci";
nhưng chúng bị cấm theo quy tắc 4.1. của MISRA-C 2004. Quy tắc này là yêu cầu .
Câu hỏi của tôi là: có thể, và làm thế nào để mã hóa bộ ký tự này bằng cách sử dụng các chuỗi thoát đơn giản của ISO/IEC 9899?
Tôi không nghĩ rằng bạn có trình tự thoát cho chars như vậy (nhưng những người liên quan đến số của họ giá trị). Điều gì ngăn cản bạn sử dụng các ký tự thực tế trong chuỗi? – Jack
@Jack Khi nói đến các ký tự không chuẩn vượt quá ASCII 7 bit cổ điển, bây giờ bạn gặp phải các tình huống trong đó bảng phông của trình soạn thảo văn bản và/hoặc hệ điều hành trên máy tính và/hoặc trình biên dịch và/hoặc hệ thống đích khác nhau . Nó sẽ là lý tưởng nếu tất cả họ đều sử dụng Unicode, nhưng điều này không phải luôn luôn như vậy. – Lundin