• דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

קידוד עברית לתווי יוניקוד באמצעות VBA

מתוזמן נעוץ נעול הועבר ארכיון code613m
4 פוסטים 2 כותבים 274 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    ארכיטקט
    כתב ב נערך לאחרונה על ידי
    #1

    שלום, בעבר נשאלה כאן שאלה אודות קידוד URL והובא קוד מוצלח על ידי דוד ל.ט.

    כעת יש לי שאלה דומה לגבי קידוד של יוניקוד לתווי יוניקוד, כלומר אם אני מכניס "א" אני אמור לקבל "%u05D0" יש איזה אתר כאן שמראה את המפה, וכאן הוא מראה את הפירוט של האות "א" בעברית.

    השאלה היא, איזו היא דרך נקייה וקלה בקוד לקבל את הקידוד.

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

    הנה למשל הלינק הזה:

    "http://www.israelpost.co.il/zip_data1.nsf/SearchZip?OpenAgent&Location=%u05D1%u05E0%u05D9 %u05D1%u05E8%u05E7&POB=&Street=%u05D7%u05D6%u05D5%u05DF %u05D0%u05D9%u05E9&House=1&Entrance=
    "
    נותן לנו את המיקוד של רחוב חזון איש 1 בבני ברק (למעט 4 התווים הראשונים, שמשמשים לזיהוי התשובה).

    זה נכס שכדאי לאמץ אותו בשביל כל מי שעוסק ב IT.

    אודה על כל עזרה.

    פורסם במקור בפורום CODE613 ב09/08/2013 15:09 (+03:00)

    אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

    תגובה 1 תגובה אחרונה
    0
  • א מנותק
    א מנותק
    ארכיטקט
    כתב ב נערך לאחרונה על ידי
    #2

    טוב אז מצאתי לגמרי במקרה נתקלתי בקוד הזה תוך כדי חיפוש של נושא אחר לגמרי. יכול לעזור לכל עם ישראל.

    Public Function UnicodeEncode(str) As String
        If IsNull(str) Then Exit Function
        Dim i, j, aL1, aL2, c, p
    
        aL1 = Array(&H22, &H5C, &H2F, &H8, &HC, &HA, &HD, &H9)
        aL2 = Array(&H22, &H5C, &H2F, &H62, &H66, &H6E, &H72, &H74)
        For i = 1 To Len(str)
            p = True
            c = Mid(str, i, 1)
            For j = 0 To 7
                If c = Chr(aL1(j)) Then
                    UnicodeEncode = UnicodeEncode & "%" & Chr(aL2(j))
                    p = False
                    Exit For
                End If
            Next
    
            If p Then
                Dim a
                a = AscW(c)
                If a > 31 And a < 127 Then
                    UnicodeEncode = UnicodeEncode & c
                ElseIf a > -1 Or a < 65535 Then
                    UnicodeEncode = UnicodeEncode & "%u" & String(4 - Len(Hex(a)), "0") & Hex(a)
                End If
            End If
        Next
    End Function
    

    פורסם במקור בפורום CODE613 ב11/08/2013 00:54 (+03:00)

    אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

    תגובה 1 תגובה אחרונה
    0
  • א מנותק
    א מנותק
    ארכיטקט
    כתב ב נערך לאחרונה על ידי
    #3

    תודה למג'יק קוד על עריכת הקוד ונקיונו:

    Public Function UnicodeEncode(str) As String
        If IsNull(str) Then Exit Function
        Dim i, a
        For i = 1 To Len(str)
                a = AscW(Mid(str, i, 1))
                If a > -1 And a < 127 Then
                    UnicodeEncode = UnicodeEncode & "%" & String(2 - Len(Hex(a)), "0") & Hex(a)
                ElseIf a > -1 Or a < 65535 Then
                    UnicodeEncode = UnicodeEncode & "%u" & String(4 - Len(Hex(a)), "0") & Hex(a)
                End If
        Next
    End Function
     :|
    

    פורסם במקור בפורום CODE613 ב11/08/2013 18:50 (+03:00)

    אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

    תגובה 1 תגובה אחרונה
    0
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #4

    והנה אותה הפונקציה ב VBNET

    Public Function UnicodeEncode(ByVal str As String) As String
            If String.IsNullOrEmpty(str) Then Exit Function
            Dim i, a
            For i = 1 To Len(str)
                a = AscW(Mid(str, i, 1))
                If a > -1 And a < 127 Then
                    UnicodeEncode = UnicodeEncode & "%" & New String("0", 2 - Len(Hex(a))) & Hex(a)
                ElseIf a > -1 Or a < 65535 Then
                    UnicodeEncode = UnicodeEncode & "%u" & New String("0", 4 - Len(Hex(a))) & Hex(a)
                End If
            Next
        End Function
    

    פורסם במקור בפורום CODE613 ב07/12/2013 22:06 (+02:00)

    יעקובוב פיתוח תוכנה ערוץ היוטיוב | אתר

    צפו יוונים נקבצו עלי

    תגובה 1 תגובה אחרונה
    0

  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.