ฉันมีปัญหาในการค้นหาข้อมูลนี้และการทดลองและข้อผิดพลาดกำลังบอกฉันว่าอาจไม่มี อักขระที่ไม่ถูกต้องสำหรับชื่อไฟล์ใน OS X Lion (10.7) คืออะไร?
ฉันมีปัญหาในการค้นหาข้อมูลนี้และการทดลองและข้อผิดพลาดกำลังบอกฉันว่าอาจไม่มี อักขระที่ไม่ถูกต้องสำหรับชื่อไฟล์ใน OS X Lion (10.7) คืออะไร?
คำตอบ:
HFS Plusอนุญาตให้ " Unicode อักขระใด ๆ รวมถึง NUL OS API อาจ จำกัด อักขระบางตัวด้วยเหตุผลดั้งเดิม"
'/'
หรือ NUL '\0'
ในพวกเขา .
อักขระที่ไม่ถูกต้องสำหรับชื่อไฟล์ภายใต้ OS X คืออะไร
อักขระที่อนุญาตในชื่อไฟล์ Unicode อักขระใด ๆ รวมถึง NUL OS API อาจ จำกัด อักขระบางตัวด้วยเหตุผลดั้งเดิม
ตัวค้นหาไม่อนุญาตให้ป้อนโคลอนในชื่อไฟล์ได้ แต่จะอนุญาตให้ใส่แบ็กสแลช อย่างไรก็ตามอักขระที่แสดงเป็นสแลชใน Finder จะแสดงเป็นโคลอนในเชลล์และในทางกลับกัน ตัวค้นหาไม่อนุญาตให้ใช้อักขระควบคุม ASCII ใด ๆ ก็ได้
Bash ดูเหมือนจะอนุญาตให้ใช้อักขระควบคุมทั้งหมดยกเว้น\000
(NUL) ฉันทดสอบโดยรันเอาต์พุตจาก:
for i in {1..31} 127 0; do echo touch \\$(bc <<< "obase=8;$i"); done
แก้ไข
ตามWikipediaตัวละครที่ไม่ถูกต้องเพียงตัวเดียวคือฟอร์เวิร์ดสแลช/
แต่อยู่ที่เลเยอร์ UNIX
:
ถูกห้ามใช้บน Mac OS Classic แต่ไม่แน่นอนบน Mac OS X— touch foo:bar
ทำงานได้อย่างสมบูรณ์แบบ
:
ใช้ได้ใน“ unix layer” แต่แปลเป็น / จาก/
ใน“ เลเยอร์ Mac” (เช่น Finder, กล่องโต้ตอบที่เกี่ยวข้องกับไฟล์ส่วนใหญ่ ฯลฯ ): โคลอนถูกใช้เป็นตัวคั่นใน“ พา ธ HFS” "และเครื่องหมายทับจะใช้เป็นตัวคั่นใน" เส้นทาง POSIX "ดังนั้นจึงมีการแปลสองทางขึ้นอยู่กับ" เลเยอร์ "ที่คุณกำลังทำงานด้วย
/
) หรือเครื่องหมายโคลอน ( :
) เพื่อให้ปลอดภัย
foo/bar.docx
(ใช้งานได้) Microsoft Word จะไม่สามารถเปิดได้