移除或轉換無法列印的字元。
類別: | DBCS |
已轉換且為工作階段編碼的資料字串。
輸入資料字串。
指定無法列印之字元的處理指示:
使用 Unicode 逸出字串 (例如,\u0000\u1234),轉換無法列印的字元。
移除無法列印的字元。不使用取代字元。
將每個無法列印的字元取代為單位元組空白。
將無法列印的字元取代為單位元組 '?'。
將無法列印的字元取代為十六進位表示法 (例如,0x810x82)。
發現第一個無法列印的字元時,截斷資料字串。
如果找到任何無法列印的字元,即移除資料字串。
如果代碼是 Unicode,則使用 NCR 表示法來編碼無法列印的字元。
指定輸入資料的編碼名稱 (必要時)。如果未指定輸入編碼名稱,則 KPROPDATA 函數會將資料處理為目前 SAS 工作階段編碼的字串。如需 SAS 編碼名稱的詳細資訊,請參閱 轉碼資料的 SBCS、DBCS 和 Unicode 編碼值。
指定輸出資料的編碼名稱。如果未指定編碼名稱,則 KPROPDATA 函數會將輸出辨識為目前 SAS 工作階段編碼。如需 SAS 編碼名稱的詳細資訊,請參閱 轉碼資料的 SBCS、DBCS 和 Unicode 編碼值。
length instr $12; length str1 str2 str3 str4 str5 str6 str7 str8 str9 str10$ 50; instr = "534153"x||"ae"x || " System"; put instr; str1 = kpropdata(instr); put str1= +2 str1= $hex26.; str2 = kpropdata(instr,'UESC'); put str2= +2 str2= $hex26.;; str3 = kpropdata(instr, 'UESC','wlatin1'); put str3= +2 str3= $hex34.; str4 = kpropdata(instr,'TRIM','wlatin1'); put str4= +2 str4= $hex26.; str5 = kpropdata(instr,'BLANK', 'wlatin1'); put str5= +2 str5= $hex26.; str6 = kpropdata(instr,'?', 'wlatin1'); put str6= +2 str6= $hex26.; str7 = kpropdata(instr,'hex', 'wlatin1'); put str7= +2 str7= $hex26.; str8 = kpropdata(instr,'TRUNC', 'wlatin1'); put str8= +2 str8= $hex26.; str9 = kpropdata(instr,'REMOVE', 'wlatin1'); put str9= +2 str9= $hex26.; str10 = kpropdata(instr,'NCR', 'wlatin1'); put str10= +2 str10= $hex26.; RESULTS: SAS? System str1=SAS? System str1=534153AE2053797374656D2020 str2=SAS? System str2=534153AE2053797374656D2020 str3=SAS\uff6e System str3=5341535C75666636652053797374656D20 str4=SAS System str4=5341532053797374656D202020 str5=SAS System str5=534153202053797374656D2020 str6=SAS? System str6=5341533F2053797374656D2020 str7=SAS\xAE System str7=5341535C784145205379737465 str8=SAS str8=53415320202020202020202020 str9= str9=20202020202020202020202020 str10=SAS® System str10=53415326233137343B20537973