ວິທີການແປງເອກະສານເຂົ້າລະຫັດເຂົ້າລະຫັດ UTF-8 ໃນ Linux
ໃນ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາຈະອະທິບາຍເຖິງການເຂົ້າລະຫັດຕົວອັກສອນໃດແລະກວມເອົາບາງຕົວຢ່າງຂອງການແປງໄຟລ໌ຈາກການເຂົ້າລະຫັດຕົວອັກສອນ ໜຶ່ງ ໄປຫາອີກຕົວ ໜຶ່ງ ໂດຍໃຊ້ເຄື່ອງມືບັນທັດ ຄຳ ສັ່ງ. ຫຼັງຈາກນັ້ນ, ສຸດທ້າຍ, ພວກເຮົາຈະເບິ່ງວິທີການປ່ຽນໄຟລ໌ຫຼາຍໆຊຸດຈາກຊຸດຕົວອັກສອນໃດໆ (ຊຸດໄຟຟ້າ) ໄປຫາການເຂົ້າລະຫັດແບບ UTF-8 ໃນ Linux.
ຄືກັບທີ່ທ່ານອາດຈະມີຢູ່ໃນໃຈແລ້ວ, ຄອມພີວເຕີ້ບໍ່ເຂົ້າໃຈຫລືເກັບຮັກສາຕົວອັກສອນ, ຕົວເລກຫລືສິ່ງອື່ນໆທີ່ພວກເຮົາເປັນມະນຸດສາມາດຮັບຮູ້ໄດ້ຍົກເວັ້ນແຕ່ສ່ວນນ້ອຍໆ. ເລັກນ້ອຍມີພຽງສອງຄຸນຄ່າທີ່ເປັນໄປໄດ້, ນັ້ນແມ່ນລະຫັດ 0
ຫຼື 1
, ແທ້
ຫຼື ທີ່ບໍ່ຖືກຕ້ອງ
, ແມ່ນແລ້ວ
ຫຼື ບໍ່ມີ
. ທຸກໆສິ່ງອື່ນໆເຊັ່ນ: ຕົວອັກສອນ, ຕົວເລກ, ຮູບພາບຕ່າງໆຕ້ອງເປັນຕົວແທນໃນຖັງເພື່ອໃຫ້ຄອມພິວເຕີປະມວນຜົນ.
ໃນ ຄຳ ສັບທີ່ງ່າຍດາຍ, ການເຂົ້າລະຫັດຕົວອັກສອນແມ່ນວິທີການແຈ້ງຄອມພິວເຕີ້ວິທີການຕີຄວາມ ໝາຍ ສູນແລະວັດຖຸດິບໃຫ້ເປັນຕົວອັກສອນຕົວຈິງ, ເຊິ່ງຕົວອັກສອນຈະຖືກສະແດງໂດຍຕົວເລກທີ່ ກຳ ນົດໄວ້ ເມື່ອພວກເຮົາພິມຂໍ້ຄວາມໃສ່ໃນເອກະສານ, ຄຳ ສັບແລະປະໂຫຍກທີ່ພວກເຮົາປະກອບເປັນການປຸງແຕ່ງຈາກຕົວລະຄອນທີ່ແຕກຕ່າງກັນ, ແລະຕົວລະຄອນຕ່າງໆຈະຖືກຈັດເປັນ charset.
ມີລະບົບການເຂົ້າລະຫັດຕ່າງໆທີ່ມີຢູ່ເຊັ່ນວ່າ ASCII, ANSI, Unicode ໃນບັນດາຮູບແບບອື່ນໆ. ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງຂອງການເຂົ້າລະຫັດ ASCII.
Character bits A 01000001 B 01000010
ໃນ Linux, ເຄື່ອງມືບັນທັດເສັ້ນ ຄຳ ສັ່ງ iconv ຖືກໃຊ້ເພື່ອປ່ຽນຂໍ້ຄວາມຈາກຮູບແບບ ໜຶ່ງ ຂອງການເຂົ້າລະຫັດໄປຫາອີກແບບ ໜຶ່ງ.
ທ່ານສາມາດກວດສອບການເຂົ້າລະຫັດຂອງແຟ້ມໂດຍໃຊ້ ຄຳ ສັ່ງເອກະສານ, ໂດຍການໃຊ້ -i
ຫຼື - mime
ທີ່ສາມາດເຮັດໃຫ້ການພິມຂອງສາຍ mime type ເຊັ່ນໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້:
$ file -i Car.java $ file -i CarDriver.java
syntax ສຳ ລັບການໃຊ້ iconv ມີດັ່ງນີ້:
$ iconv option $ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile
ບ່ອນທີ່ -f
ຫຼື - ລະຫັດລະຫັດ
ໝາຍ ເຖິງລະຫັດການປ້ອນຂໍ້ມູນແລະ -t
ຫຼື - ເພື່ອເຂົ້າລະຫັດ
ລະບຸ ການເຂົ້າລະຫັດຜົນຜະລິດ.
ເພື່ອບອກຊຸດຕົວອັກສອນທີ່ຮູ້ຈັກລະຫັດທັງ ໝົດ, ດຳ ເນີນການ ຄຳ ສັ່ງດັ່ງລຸ່ມນີ້:
$ iconv -l
ປ່ຽນເອກະສານຈາກ UTF-8 ຫາການເຂົ້າລະຫັດ ASCII
ຕໍ່ໄປ, ພວກເຮົາຈະຮຽນຮູ້ວິທີການແປງຈາກລະບົບການເຂົ້າລະຫັດແບບ ໜຶ່ງ ໄປຫາອີກແບບ ໜຶ່ງ. ຄໍາສັ່ງຂ້າງລຸ່ມນີ້ປ່ຽນຈາກການເຂົ້າລະຫັດ ISO-8859-1 ເປັນການເຂົ້າລະຫັດ UTF-8.
ພິຈາລະນາເອກະສານທີ່ມີຊື່ວ່າ input.file
ເຊິ່ງມີຕົວອັກສອນ:
� � � �
ໃຫ້ພວກເຮົາເລີ່ມຕົ້ນໂດຍການກວດສອບການເຂົ້າລະຫັດຂອງຕົວອັກສອນໃນເອກະສານແລະຈາກນັ້ນເບິ່ງເນື້ອໃນຂອງເອກະສານ. ຢ່າງໃກ້ຊິດ, ພວກເຮົາສາມາດປ່ຽນຕົວອັກສອນທັງ ໝົດ ໃຫ້ເປັນການເຂົ້າລະຫັດ ASCII.
ຫຼັງຈາກທີ່ເຮັດວຽກ ຄຳ ສັ່ງ iconv, ຫຼັງຈາກນັ້ນພວກເຮົາກວດເບິ່ງເນື້ອໃນຂອງເອກະສານຜົນຜະລິດແລະການເຂົ້າລະຫັດ ໃໝ່ ຂອງໂຕອັກສອນດັ່ງລຸ່ມນີ້.
$ file -i input.file $ cat input.file $ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file $ cat out.file $ file -i out.file
ໝາຍ ເຫດ: ໃນກໍລະນີເຊືອກ /IGNORE
ຖືກເພີ່ມໃສ່ການເຂົ້າລະຫັດ, ຕົວອັກສອນທີ່ບໍ່ສາມາດແປງໄດ້ແລະຂໍ້ຜິດພາດຈະຖືກສະແດງຫຼັງຈາກປ່ຽນໃຈເຫລື້ອມໃສ.
ອີກເທື່ອ ໜຶ່ງ, ຖ້າສົມມຸດວ່າລະຫັດ /TRANSLIT
ຖືກຕື່ມໃສ່ລະບົບເຂົ້າລະຫັດຄືກັບໃນຕົວຢ່າງຂ້າງເທິງ (ASCII/TRANSLIT), ຕົວອັກສອນທີ່ຖືກແປງຈະຖືກແປເປັນຄວາມຕ້ອງການແລະຖ້າເປັນໄປໄດ້. ເຊິ່ງສະແດງເຖິງກໍລະນີທີ່ຕົວອັກສອນບໍ່ສາມາດເປັນຕົວແທນໃນຕົວອັກສອນເປົ້າ ໝາຍ ໄດ້, ມັນສາມາດຖືກປະມານໂດຍຜ່ານ ໜຶ່ງ ຫຼືຫຼາຍຕົວອັກສອນທີ່ຄ້າຍຄືກັນ.
ດ້ວຍເຫດນັ້ນ, ຕົວລະຄອນໃດ ໜຶ່ງ ທີ່ບໍ່ສາມາດແປໄດ້ແລະບໍ່ຢູ່ໃນຕົວອັກສອນເປົ້າ ໝາຍ ຖືກແທນດ້ວຍເຄື່ອງ ໝາຍ ຄຳ ຖາມ (?)
ໃນຜົນໄດ້ຮັບ.
ປ່ຽນເອກະສານທີ່ຫຼາກຫຼາຍເປັນການເຂົ້າລະຫັດແບບ UTF-8
ກັບມາຫາຫົວຂໍ້ຫຼັກຂອງພວກເຮົາ, ເພື່ອປ່ຽນເອກະສານທີ່ຫຼາກຫຼາຍຫຼືທັງ ໝົດ ໃນໄດເລກະທໍລີເປັນລະຫັດເຂົ້າລະຫັດ UTF-8, ທ່ານສາມາດຂຽນສະຄິບຫອຍນ້ອຍທີ່ເອີ້ນວ່າ encoding.sh ດັ່ງຕໍ່ໄປນີ້:
#!/bin/bash #enter input encoding here FROM_ENCODING="value_here" #output encoding(UTF-8) TO_ENCODING="UTF-8" #convert CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING" #loop to convert multiple files for file in *.txt; do $CONVERT "$file" -o "${file%.txt}.utf8.converted" done exit 0
ຊ່ວຍປະຢັດເອກະສານ, ຫຼັງຈາກນັ້ນເຮັດໃຫ້ສະຄິບປະຕິບັດໄດ້. ດໍາເນີນການມັນຈາກໄດເລກະທໍລີທີ່ໄຟລ໌ຂອງທ່ານ ( *. txt
) ຕັ້ງຢູ່.
$ chmod +x encoding.sh $ ./encoding.sh
ສິ່ງ ສຳ ຄັນ: ທ່ານສາມາດໃຊ້ສະຄິບນີ້ ສຳ ລັບການປ່ຽນເອກະສານທົ່ວໄປຈາກຫຼາຍລະຫັດຈາກການເຂົ້າລະຫັດ ໜຶ່ງ ຫາອີກຂໍ້ ໜຶ່ງ, ພຽງແຕ່ຫຼີ້ນອ້ອມກັບຄ່າຂອງລະຫັດຕົວປ່ຽນຈາກ FROM_ENCODING ແລະ TO_ENCODING
, ບໍ່ແມ່ນ ລືມຊື່ໄຟລ໌ຜົນຜະລິດ "& # 36 {file% .txt} .utf8.converted"
.
ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງຜ່ານ ໜ້າ man iconv.
$ man iconv
ເພື່ອສະຫຼຸບ ຄຳ ແນະ ນຳ ນີ້, ການເຂົ້າໃຈການເຂົ້າລະຫັດແລະວິທີການປ່ຽນຈາກລະບົບການເຂົ້າລະຫັດແບບອັກສອນ ໜຶ່ງ ໄປຫາອີກຂໍ້ ໜຶ່ງ ແມ່ນຄວາມຮູ້ທີ່ ຈຳ ເປັນ ສຳ ລັບຜູ້ໃຊ້ຄອມພິວເຕີ້ທຸກໆຄົນຍິ່ງກວ່ານັ້ນ ສຳ ລັບນັກຂຽນໂປແກຼມເມື່ອກ່ຽວຂ້ອງກັບການຂຽນຂໍ້ຄວາມ.
ສຸດທ້າຍ, ທ່ານສາມາດຕິດຕໍ່ກັບພວກເຮົາໂດຍໃຊ້ພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ ສຳ ລັບ ຄຳ ຖາມຫຼື ຄຳ ຕິຊົມໃດໆ.