-
אני צריך משהו שיתן לי את תו ה ASCII לפי cp מסויים - במקרה שלי cp862 - שאני יכניס לו 128 והוא יחזיר לי 'א'
רק מדגיש - אני לא מעוניין בתווי Unicode ככה ש chr ו ord לא תקפים כאן
את הפעולה ההפוכה הצלחתי לעשות עםtext = 'א' chr_num = text.encode('cp862') ord(chr_num)
אבל לא הפוך
תודה -
הסתדרתי בסוף.
ולמי שמתעניין, זה הקוד הסופיcon_string = "" string = input('enter string : ') for letter in string: con_letter = letter.encode('cp862').decode('cp1255') con_string = con_string + con_letter print(con_string[::-1])
הסקריפט נועד למקרה שאולי חלקכם נתקלתם בו בעבר - שכרטיס זיכרון עושה בעיות וכל השמות של התיקיות הפכו לג'יבריש
מכניסים לסקריפט את שם התקייה ה"מג'וברש" והוא מדפיס חזרה את השם המקורי
ולמי שמתעניין, הוא ממיר את קידוד הטקסט מ cp862 ל cp1255
בסוף הסקריפט עשיתי רברסינג לסטרינג הפלט כדי שהוא יוצג כמו שצריך בחלון ה cmd, אבל זה תקף רק לווינדוס 10 - בווינדוס 11 (כמו גם אם תרצו להעתיק מה cmd את הטקסט - שאז ההיפוך יוסר) צריך להוריד את ה [1-::]
תודה ל @משחזר-מידע על ההסבר לגבי הקידודים -