คำถามติดแท็ก binary


4
สภาพแวดล้อมแบบเชลล์สำหรับการประมวลผลแบบไบนารี
คำถามนี้มาถึงฉันสองสามครั้งก่อนตอนนี้ในการตอบสนองต่อคำถาม วนผ่านชิ้นข้อมูลไบนารีจาก stdin ใน คำตอบBashให้ใน/programming/993434/what-language-is-to-binary -as-perl-is-to-textก็ไม่พอใจเช่นกัน ฉันกำลังมองหาสภาพแวดล้อมการเขียนสคริปต์ที่เหมาะสมโดยเฉพาะเพื่อจัดการ I / O กับไฟล์ไบนารี ฉันรู้ว่าฉันสามารถใช้หนึ่งในภาษาการเขียนโปรแกรมอย่างเต็มรูปแบบ (c / Python / ... ) แต่พวกเขามีการเริ่มต้นและการเข้ารหัสค่าใช้จ่ายมหาศาล (การจัดสรรและ fread / fwrite ใน c, bitstrings ใน Python ... ) ไม่ต้องพูดถึง มันเหมาะสำหรับการเขียนสคริปต์น้อยกว่า (เรียกแอปพลิเคชันอื่นจากมัน) Perl นั้นไม่ได้ดีไปกว่าunpackฟังก์ชั่นการใช้งานของสตริง สิ่งที่ชอบodแต่เป็นภาษา สิ่งที่ฉันคาดหวัง: ตั้งค่าหรือเปลี่ยน endianness ด้วยสวิตช์ / คำสั่งเดียว สเปคที่เรียบง่ายของประเภทร้องขอ (บางอย่างเช่นการขยายทุบตีread varด้วยint32 var, float varฯลฯ ) การจัดการของไบนารีผ่านท่อข้ามจำนวนไบต์ที่ระบุ …

3
ฉันจะจัดการข้อมูลไบนารีดิบในท่อทุบตีได้อย่างไร
ฉันมีฟังก์ชั่นทุบตีที่ใช้ไฟล์เป็นพารามิเตอร์ตรวจสอบไฟล์ที่มีอยู่แล้วเขียนสิ่งที่มาจาก stdin ไปยังไฟล์ โซลูชันไร้เดียงสาทำงานได้ดีสำหรับข้อความ แต่ฉันมีปัญหากับข้อมูลไบนารีโดยพลการ echo -n '' >| "$file" #Truncate the file while read lines do # Is there a better way to do this? I would like one... echo $lines >> "$file" done
15 bash  shell  binary 

5
วิธีใช้ bash script เพื่ออ่านเนื้อหาของไฟล์ไบนารี่
ฉันต้องการอ่านตัวอักษรและความยาวคงที่ของสตริง (สตริงไม่สิ้นสุดในไฟล์และความยาวของมันถูกกำหนดโดยตัวอักษรก่อนหน้า) ฉันจะทำสิ่งนี้ในสคริปต์ทุบตีได้อย่างไร วิธีกำหนดตัวแปรสตริงเพื่อให้ฉันสามารถทำการประมวลผลบางอย่างได้

3
ฉันจะทำงานกับไบนารีใน bash เพื่อคัดลอกไบต์คำต่อคำโดยไม่มีการแปลงได้อย่างไร
ฉันพยายามแปลรหัส c ++ เป็น bash อย่างทะเยอทะยานด้วยเหตุผลมากมาย รหัสนี้อ่านและจัดการไฟล์ประเภทเฉพาะสำหรับฟิลด์ย่อยของฉันที่เขียนและจัดโครงสร้างอย่างสมบูรณ์ในไบนารี งานที่เกี่ยวข้องกับไบนารีครั้งแรกของฉันคือการคัดลอกส่วนหัว 988 ไบต์แรกตามที่เป็นจริงและใส่ลงในไฟล์เอาต์พุตที่ฉันสามารถเขียนต่อไปได้ในขณะที่ฉันสร้างข้อมูลที่เหลือ ฉันค่อนข้างมั่นใจว่าโซลูชันปัจจุบันของฉันใช้งานไม่ได้และในความเป็นจริงฉันไม่ได้คิดวิธีที่ดีในการพิจารณาสิ่งนี้ ดังนั้นแม้ว่ามันจะถูกเขียนขึ้นอย่างถูกต้องฉันต้องรู้ว่าฉันจะทดสอบสิ่งนี้อย่างไรเพื่อให้แน่ใจ! นี่คือสิ่งที่ฉันกำลังทำอยู่ตอนนี้: hdr_988=`head -c 988 ${inputFile}` echo -n "${hdr_988}" > ${output_hdr} headInput=`head -c 988 ${inputTrack} | hexdump` headOutput=`head -c 988 ${output_hdr} | hexdump` if [ "${headInput}" != "${headOutput}" ]; then echo "output header was not written properly. exiting. please …
14 bash  binary  head 

3
มีทางเลือกอื่นสำหรับ `dd 'หรือไม่?
ฉันควรใช้เครื่องมืออื่นใดในการอ่านและเขียนไฟล์ที่มีการตัด, การค้นหาและการข้าม ตัวเลือกบรรทัดคำสั่งของ dd ดูไม่สะดวกและแปลกปลอมและฉันไม่ชอบการเลือกระหว่างโหมดการค้นหาที่ช้า แต่แม่นยำ ( bs=1) และรวดเร็ว แต่โหมดยืดหยุ่น ( bs=4kหรืออะไรก็ตาม) มีเครื่องมือที่ทันสมัยกว่าในการอ่าน 555 ไบต์จากไฟล์หนึ่งไฟล์ (หรือไพพ์หรือซ็อกเก็ตหรือ dev) จากตำแหน่ง 31337 และเขียนลงในไฟล์อื่นที่ตำแหน่ง 128205 (โดยใช้บล็อก 512 + 43) โดยมีหรือไม่มีการตัดปลาย
14 files  utilities  dd  binary 

2
จะเก็บไฟล์รูปภาพในตัวแปร bash ได้อย่างไร?
หลังจากที่ฉันใช้คำสั่งต่อไปนี้ pngString="$(cat example.png)" echo -n "$pngString" > tmp.png ฉันไม่สามารถเปิด tmp.png เป็นไฟล์ PNG ได้ ข้อมูลบางอย่างอาจหายไปเมื่อฉันใช้$pngStringเพื่อจัดเก็บไฟล์ภาพ ดังนั้นคำถามคือฉันจะเก็บข้อมูลภาพทั้งหมดโดยใช้ตัวแปรในสคริปต์ทุบตีได้อย่างไร
14 bash  cat  images  binary  variable 

2
วิธีการตีความดัมพ์ฐานแปดหรือฐานสิบหกของไฟล์ไบนารี
ไฟล์ไบนารีมีสตริงและตัวเลขบางตัวถ้าฉันทำ od -c filenameหรือstrings filenameฉันสามารถดูสตริงได้อย่างถูกต้อง แต่แล้วตัวเลขล่ะ พวกเขาอยู่ในรูปแบบแปลก ๆ ข้อความหลังจากทำod -c filenameเช่นนี้: 0000000 036 \ 0 032 004 SD \ 0 \ 0 \ 0 \ 0 seq 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 ó …
14 binary  od  hexdump 

2
vim สามารถแสดงอักขระ ASCII เท่านั้นและถือว่าไบต์อื่นเป็นข้อมูลไบนารีได้หรือไม่
ฉันรู้อยู่แล้วว่าvim -bขึ้นอยู่กับสถานที่ที่ใช้มันจะแสดงอักขระหลายไบต์ (เช่น UTF-8) เป็นตัวอักษรเดียว ฉันvimจะขอให้แสดงเฉพาะอักขระที่พิมพ์ได้ของ ASCII และจัดการกับส่วนที่เหลือเป็นข้อมูลไบนารีไม่ว่าจะเป็นชุดอักขระหรือไม่

1
md5sum คำสั่งไบนารีและโหมดข้อความ
md5sumคำสั่งGNU มีสองโหมด: โหมดไบนารีและโหมดข้อความ ฉันเดาว่าความแตกต่างนั้นขึ้นอยู่กับการจัดการอักขระบรรทัดใหม่เท่านั้น ฉันถูกไหม? บน GNU / Linux ทั้งสองโหมดจะให้ผลลัพธ์เหมือนกันเสมอดังนั้นการใช้-bและ-tตัวเลือกเพียงอย่างเดียวคือการระบุการตั้งค่าสถานะ ( *หรือ) ที่ใช้ก่อนหน้าชื่อไฟล์ โหมดสามารถให้ผลลัพธ์ที่แตกต่างในสถานการณ์ใดบ้าง บนระบบ Windows / MacOS? (มีเวอร์ชั่นสำหรับแพลตฟอร์มเหล่านี้หรือไม่)
13 binary  text  hashsum 

5
วิธีรวบรวมสถิติการเกิดไบต์ในไฟล์ไบนารี?
ฉันต้องการทราบสิ่งที่เทียบเท่า cat inputfile | sed 's/\(.\)/\1\n/g' | sort | uniq -c นำเสนอใน/programming/4174113/how-to-gather-characters-usage-statistics-in-text-file-using-unix- คำสั่งสำหรับการผลิตสถิติการใช้อักขระในไฟล์ข้อความสำหรับไบนารีไฟล์นับ ไบต์ง่าย ๆ แทนตัวละครเช่นเอาท์พุทควรอยู่ในรูปแบบของ 18383 57 12543 44 11555 127 8393 0 ไม่สำคัญว่าคำสั่งจะใช้เวลานานเท่าใดเมื่ออ้างอิงกับอักขระ หากฉันใช้คำสั่งสำหรับตัวละครกับไฟล์ไบนารีเอาต์พุตจะมีสถิติสำหรับลำดับที่ยาวของอักขระที่ไม่สามารถพิมพ์ได้ (โดยที่ฉันไม่ต้องการคำอธิบาย)

2
แพคเกจไบนารีคืออะไร? สร้างได้อย่างไร?
ฉันต้องการรับรายละเอียดเกี่ยวกับแพคเกจไบนารีและเรียกใช้บน linux ฉันใช้งานฐาน Debian (Ubuntu / Linux เหรียญกษาปณ์) Linux os วิธีการสร้างแพ็คเกจไบนารีจากแหล่งที่มา? และฉันสามารถดาวน์โหลดแพ็คเกจไบนารีโดยตรงสำหรับแอปพลิเคชัน (เช่น firefox ฯลฯ ) และเกม (เช่น boswars เป็นต้น) ได้หรือไม่ ฉันเรียกใช้แพ็คเกจโดยตรงซึ่งอยู่ในรูปแบบ "xyz.linux.run" แพ็คเกจเหล่านี้คืออะไร พวกเขาเป็นอิสระจากการพึ่งพา? หรือมันเป็นแพคเกจไบนารีที่สร้างไว้ล่วงหน้า? วิธีการสร้างพวกเขาซึ่งสามารถทำงานบนระบบปฏิบัติการ linux โดย "xyz.linux.run" โดยตรงบน linux ความแตกต่างระหว่างแพคเกจไบนารีและแพคเกจ deb คืออะไร?

2
PATH บน Mac OS คืออะไร
อะไรคือสิ่งที่PATHอยู่ใน Mac OS? ฉันได้ใช้มันเพื่อติดตั้งเครื่องมือบรรทัดคำสั่งระดับโลก แต่เอกสารเดียวที่ฉันได้พบคือบทเรียนสำหรับการทำเช่นนั้นโดยไม่มีคำอธิบายที่แท้จริงของสิ่งที่เกิดขึ้นภายใต้ประทุน ฉันยังไม่ได้พบหน้าเว็บที่เกี่ยวข้องในวิกิพีเดีย ดังนั้นอะไรคือจุดประสงค์PATHและความแตกต่างระหว่าง/etc/pathsและ~/.bash_profile** คืออะไร ตัวอย่างเช่นในpathsไฟล์ของฉันฉันเห็นสิ่งนี้: /usr/bin /bin /usr/sbin /sbin /usr/local/bin แต่ในของ~/.bash_profileฉันฉันเห็นสิ่งนี้: # Setting PATH for Python 2.7 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH นี่เป็นเพียงส่วนเพิ่มเติมเฉพาะของผู้ใช้ในpathsไฟล์หรือไม่ มีอะไรอยู่ในpathsนั้น/usr/binบ้างไหม?
12 osx  path  binary 

1
เมื่อใดที่ฉันจะแก้ไขสตริงในไบนารีที่สามารถเรียกทำงานได้
ฉันมีไบนารีที่ปฏิบัติการได้; a.outขอเรียกว่า ฉันสามารถดูไบนารีมีสตริง $ strings a.out ... /usr/share/foo .... ฉันจำเป็นต้องเปลี่ยนสายไป/usr/share/foo /usr/share/barฉันสามารถแทนที่สตริงด้วยsedหรือไม่: sed -i 's@/usr/share/foo@/usr/share/bar@' a.out นี่เป็นสิ่งที่ควรทำ สิ่งนี้จะใช้งานได้เมื่อสายไม่ยาวเท่ากันหรือไม่

5
วิธีการย้อนกลับเนื้อหาของไฟล์ไบนารีหรือไม่
ฉันแก้ไขปัญหาที่ฉันพบไฟล์ข้อมูลที่ไม่มีนามสกุลไฟล์ คำสั่งแสดงให้เห็นว่ามันเป็นfile คำสั่งแสดงให้เห็นว่าผลิตภัณฑ์มวลรวมประชาชาติ ในบรรทัดสุดท้าย ดังนั้นหากฉันย้อนกลับไฟล์นี้จากนั้นฉันจะได้รับไฟล์ฟอร์แมต. PNGฉันค้นหาทุกที่ แต่ไม่พบวิธีการแก้ปัญหาที่อธิบายวิธีย้อนกลับเนื้อหาของไฟล์ไบนารีdata file (application/octet-stream)hd
11 binary 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.