פקודה iconv בלינוקס

Pqwdh Iconv Blynwqs



הקפד לעדכן את מכונת הלינוקס שלך לפני שאתה הולך עמוק למטה לקראת יישום מאמר זה. עבור העדכון, השתמש בכלי השירות 'apt' של Linux עם מילת המפתח 'עדכון' והפעל את ההוראה הזו באמצעות הרשאות 'sudo'. למרות שאנו יכולים לקפוץ ליישום כעת, נעדיף לשדרג גם מערכת זו, כלומר, שדרוג יקטין את הסיכוי להתרחשות שגיאות, והמערכת תוכל לפתור את הבעיות בצורה מדויקת יותר. לכן, השתמש בכלי השירות 'apt' בתוך הוראת 'שדרוג'.

בואו נסתכל על כלי השירות iconv של לינוקס במסוף הטרמינל שלו עכשיו. אז, ביצענו את ההוראה 'iconv' עם הדגל '-l' כדי להציג את כל ערכות התווים המקודדות הידועות והנפוצות ביותר במסך הטרמינל שלנו. זה יציג את ערכות התווים המקודדות יחד עם הכינויים שלהן. אתה יכול לראות רשימה ארוכה של ערכות תווים מקודדות לאחר גלילה מעט למטה.







כעת, הגיע הזמן להתחיל ביישום הפקודה iconv בלינוקס. ראשית, אנו זקוקים לסוגים שונים של קבצים במערכת שלנו כדי להמיר סוג אחד של קובץ לסוג אחר. לפיכך, אנו משתמשים בשאילתת 'מגע' במסוף המסוף כדי ליצור שלושה קבצים שונים, כלומר, סוג Java, סוג C וסוג טקסט. רשימת תוכן הספרייה הנוכחית, תמצא בה את הקבצים החדשים שנוצרו.



לאחר מכן, נבחן את סוג כל קובץ בנפרד באמצעות השאילתה 'קובץ' יחד עם השם של כל קובץ. שאילתה זו זקוקה לאפשרות '-I' כדי להציג את סוג ערכת תווי הקידוד עבור כל קובץ בנפרד. אם שכחת להשתמש באפשרות '-I', השתמש במקום זאת בדגל '-mime'. גם הדגלים '-I' וגם '-mime' פועלים אותו הדבר.



כעת, לאחר ביצוע הוראת 'קובץ' עבור הקובץ מסוג 'txt', קיבלנו את קידוד התווים 'US-ASCII'. תוך שימוש באותה הוראה עבור קבצי Java ו-C, זה מראה ששני הקבצים מכילים קידוד תווים מסוג 'בינארי'. יחד עם זה, הוראה זו מראה שכל שלושת הקבצים הללו ריקים.





כעת, נמחיש את השימוש בהוראה iconv במסוף כדי להמיר קובץ קידוד של ערכת תווים ספציפית לקידוד אחר של ערכת תווים. לפני כן, עלינו להוסיף קצת קוד או נתונים לקבצים שלנו. לכן, הוספנו את קוד ה-Java בתוך הקובץ 'text.java', קוד C בתוך הקובץ 'text.c', והוספנו נתוני טקסט בתוך הקובץ 'test.txt'. שאילתת החתול שימשה כאן כדי להציג את התוכן של כל שלושת הקבצים, כפי שמוצג להלן:



כעת, לאחר שהוספנו את הנתונים בהצלחה, נראה שוב את קידוד ערכת התווים של הקבצים הללו. אז ניסינו את אותה הוראה לקובץ בתוך המעטפת עם הדגל '-I' ושמות הקבצים, כלומר test.txt, test.java ו-test.c. הפעלת שלוש ההוראות הללו בנפרד עבור כל שלושת הקבצים מראה שקידוד ערכת התווים עודכן עבור קבצי Java ו-C תוך שהוא נשאר זהה עבור קובץ הטקסט, כלומר US-ASCII. הקידוד של קבצי Java ו-C היה בעבר 'בינארי'; עכשיו, זה 'US-ASCII'. כמו כן, זה מראה שקובץ הטקסט מכיל נתוני טקסט רגיל בעוד ששני קובצי הקוד האחרים מכילים את הסקריפטים כתוכן.

זה הזמן לבצע את המשימה האמיתית הדרושה למאמר זה, כלומר, להמיר קידוד אחד לאחר באמצעות הפקודה iconv במעטפת. לפיכך, השתמשנו בהוראה 'iconv' בתוך מסוף המעטפת עם הרשאות 'sudo'. פקודה זו לוקחת את האפשרות '-f' מייצגת 'from', והאפשרות '-t' מייצגת 'to', כלומר, מקידוד אחד לאחר.

לאחר האפשרות '-f', עליך לציין את הקידוד שכבר יש לקובץ שלך, כלומר, US-ASCII. בעוד שאחרי האפשרות '-t', עליך לציין את הקידוד שברצונך להחליף בקידוד הישן, כלומר, UNICODE. עליך לציין את שם הקובץ המשמש כמקור עם האפשרות –o כדי ליצור תמונת האובייקט שלו. תמונת האובייקט תהיה קובץ אחר, כלומר 'new.c', מאותו סוג אבל עם הקידוד החדש ואותם נתונים.

לאחר ביצוע ההוראה הבאה, תקבל קובץ חדש באותה ספרייה, כלומר לפי שאילתת 'ls'. כעת, נבדוק את קידוד ערכת התווים של קובץ חדש שנוצר באמצעות הוראת iconv. נשתמש שוב בהוראה 'קובץ' עם אפשרות '-I' ושם הקובץ החדש, כלומר, new.c.

אתה תראה שערכת התווים עבור קובץ חדש זה הייתה שונה מערך התווים של קובץ ישן, כלומר, ערכת התווים UTF-16LE. הסיבה לכך היא שתרגמנו את הקידוד US-ASCII לקידוד UNICODE באמצעות הוראת iconv עבור קובץ ה-new.c שלנו. השאילתה 'חתול' הציגה את אותו קוד C בתוך הקובץ אבל התחילה עם כמה תווי Unicode, כפי שהוצג כבר.

באופן דומה מאוד, נשנה את הקידוד של קובץ הטקסט test.txt. הוראת הקובץ מראה שיש לו קידוד ערכת תווים US-ASCII. הפקודה iconv שימשה באותו פורמט להמרת הקידוד של קובץ test.txt מ-US-ASCII ל-TURKISH8. אתה תראה שזה לא משנה את US-ASCII לטורקית.

לאחר מכן, השתמשנו באותה פקודה כדי לכסות את קידוד ערכת התווים US-ASCII עד UTF-32 עבור אותו קובץ. הפעם זה עובד. הסיבה לכך היא שלפעמים עלולה להיות בעיה בהמרת ערכת קידוד אחת לאחרת, או שהקידוד השני לא תומך בה.

סיכום

מאמר זה דן כיצד להשתמש בהוראות iconv Linux כדי להמיר ערכת תווים קידוד אחת לאחרת באמצעות הכינויים שלהם. באופן זה, היינו צריכים ליצור כמה קבצים מסוגים שונים.