• فارسی ویندوز WINDOWS به داس MS-DOS ایران سیستم

    آموزش تبدیل کد پیج فارسی ویندوز (windows-1256) به فارسی داس ایران سیستم

    این آموزش برای برنامه نویسانی است که می خواهند فایل های دیسکت بیمه با فرمت DBF ایجاد کنند.

    می دانیم که کامپیوترها بیتی هستند و تنها با صفر و یک کار می کنند. بنابراین باید به یک سری توافق در مورد نحوه نمایش این صفر و یک ها رسید. این استاندارد ها در حقیقت برای نمایش کاراکترها بکار می روند. کاملا واضح است که استانداردهای مختلف بایت های مختلفی را برای نمایش یک کاراکتر استفاده می کنند. برای درک بهتر این موضوع به دو جدول زیر که از سایت wikipedia گرفته شده است توجه فرمایید.


    استاندارد فارسی ایران سیستم Iran System
      _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
     
    8_
     
    ۰
    06F0
    128
    ۱
    06F1
    129
    ۲
    06F2
    130
    ۳
    06F3
    131
    ۴
    06F4
    132
    ۵
    06F5
    133
    ۶
    06F6
    134
    ۷
    06F7
    135
    ۸
    06F8
    136
    ۹
    06F9
    137
    ،
    060C
    138
    ـ
    0640
    139
    ؟
    061F
    140

    FE81
    141

    FE8B
    142*
    ء
    0621
    143
     
    9_
     

    FE8D
    144

    FE8E
    145

    FE8F
    146*

    FE91
    147**

    FB56
    148*

    FB58
    149**

    FE95
    150*

    FE97
    151**

    FE99
    152*

    FE9B
    153**

    FE9D
    154*

    FE9F
    155**

    FB7A
    156*

    FB7C
    157**

    FEA1
    158*

    FEA3
    159**
     
    A_
     

    FEA5
    160*

    FEA7
    161**
    د
    062F
    162
    ذ
    0630
    163
    ر
    0631
    164
    ز
    0632
    165
    ژ
    0698
    166

    FEB1
    167

    FEB3
    168

    FEB5
    169

    FEB7
    170

    FEB9
    171

    FEBB
    172

    FEBD
    173
    ﺿ
    FEBF
    174
    ط
    0637
    175
     
    B_
     

    2591
    176

    2592
    177

    2593
    178

    2502
    179

    2524
    180

    2561
    181

    2562
    182

    2556
    183

    2555
    184

    2563
    185

    2551
    186

    2557
    187

    255D
    188

    255C
    189

    255B
    190

    2510
    191
     
    C_
     

    2514
    192

    2534
    193

    252C
    194

    251C
    195

    2500
    196

    253C
    197

    255E
    198

    255F
    199

    255A
    200

    2554
    201

    2569
    202

    2566
    203

    2560
    204

    2550
    205

    256C
    206

    2567
    207
     
    D_
     

    2568
    208

    2564
    209

    2565
    210

    2559
    211

    2558
    212

    2552
    213

    2553
    214

    256B
    215

    256A
    216

    2518
    217

    250C
    218

    2588
    219

    2584
    220

    258C
    221

    2590
    222

    2580
    223
     
    E_
     
    ظ
    0638
    224

    FEC9
    225*

    FECA
    226**

    FECC
    227*

    FECB
    228**

    FECD
    229*

    FECE
    230**

    FED0
    231*

    FECF
    232**

    FED1
    233*

    FED3
    234**

    FED5
    235*

    FED7
    236**

    FB8E
    237*

    FB90
    238**

    FB92
    239*
     
    F_
     

    FB94
    240**

    FEDD
    241*

    FEFB
    242*

    FEDF
    243**

    FEE1
    244*

    FEE3
    245**

    FEE5
    246*

    FEE7
    247**
    و
    0648
    248

    FEE9
    249*

    FEEC
    250

    FEEB
    251

    FBFD
    252

    FBFC
    253

    FBFE
    254**
    NBSP
    00A0
    255
      _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

    فارس ویندوز استاندارد Windows-1256
      _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
     
    0_
     
    NUL
    0000
    0
    SOH
    0001
    1
    STX
    0002
    2
    ETX
    0003
    3
    EOT
    0004
    4
    ENQ
    0005
    5
    ACK
    0006
    6
    BEL
    0007
    7
    BS
    0008
    8
    HT
    0009
    9
    LF
    000A
    10
    VT
    000B
    11
    FF
    000C
    12
    CR
    000D
    13
    SO
    000E
    14
    SI
    000F
    15
     
    1_
     
    DLE
    0010
    16
    DC1
    0011
    17
    DC2
    0012
    18
    DC3
    0013
    19
    DC4
    0014
    20
    NAK
    0015
    21
    SYN
    0016
    22
    ETB
    0017
    23
    CAN
    0018
    24
    EM
    0019
    25
    SUB
    001A
    26
    ESC
    001B
    27
    FS
    001C
    28
    GS
    001D
    29
    RS
    001E
    30
    US
    001F
    31
     
    2_
     
    SP
    0020
    32
    !
    0021
    33
    "
    0022
    34
    #
    0023
    35
    $
    0024
    36
    %
    0025
    37
    &
    0026
    38
    '
    0027
    39
    (
    0028
    40
    )
    0029
    41
    *
    002A
    42
    +
    002B
    43
    ,
    002C
    44
    -
    002D
    45
    .
    002E
    46
    /
    002F
    47
     
    3_
     
    0
    0030
    48
    1
    0031
    49
    2
    0032
    50
    3
    0033
    51
    4
    0034
    52
    5
    0035
    53
    6
    0036
    54
    7
    0037
    55
    8
    0038
    56
    9
    0039
    57
    :
    003A
    58
    ;
    003B
    59
    <
    003C
    60
    =
    003D
    61
    >
    003E
    62
    ?
    003F
    63
     
    4_
     
    @
    0040
    64
    A
    0041
    65
    B
    0042
    66
    C
    0043
    67
    D
    0044
    68
    E
    0045
    69
    F
    0046
    70
    G
    0047
    71
    H
    0048
    72
    I
    0049
    73
    J
    004A
    74
    K
    004B
    75
    L
    004C
    76
    M
    004D
    77
    N
    004E
    78
    O
    004F
    79
     
    5_
     
    P
    0050
    80
    Q
    0051
    81
    R
    0052
    82
    S
    0053
    83
    T
    0054
    84
    U
    0055
    85
    V
    0056
    86
    W
    0057
    87
    X
    0058
    88
    Y
    0059
    89
    Z
    005A
    90
    [
    005B
    91
    \
    005C
    92
    ]
    005D
    93
    ^
    005E
    94
    _
    005F
    95
     
    6_
     
    `
    0060
    96
    a
    0061
    97
    b
    0062
    98
    c
    0063
    99
    d
    0064
    100
    e
    0065
    101
    f
    0066
    102
    span style="font-size: large; font-family: monospace">g
    0067
    103
    h
    0068
    104
    i
    0069
    105
    j
    006A
    106
    k
    006B
    107
    l
    006C
    108
    m
    006D
    109
    n
    006E
    110
    o
    006F
    111
     
    7_
     
    p
    0070
    112
    q
    0071
    113
    r
    0072
    114
    s
    0073
    115
    t
    0074
    116
    u
    0075
    117
    v
    0076
    118
    w
    0077
    119
    x
    0078
    120
    y
    0079
    121
    z
    007A
    122
    {
    007B
    123
    |
    007C
    124
    }
    007D
    125
    ~
    007E
    126
    DEL
    007F
    127
     
    8_
     

    20AC
    128
    پ
    067E
    129

    201A
    130
    ƒ
    0192
    131

    201E
    132

    2026
    133

    2020
    134

    2021
    135
    ˆ
    02C6
    136

    2030
    137
    ٹ
    0679
    138

    2039
    139
    Œ
    0152
    140
    چ
    0686
    141
    ژ
    0698
    142
    ڈ
    0688
    143
     
    9_
     
    گ
    06AF
    144

    2018
    145

    2019
    146

    201C
    147

    201D
    148

    2022
    149

    2013
    150

    2014
    151
    ک
    06A9
    152

    2122
    153
    ڑ
    0691
    154

    203A
    155
    œ
    0153
    156
    ZWNJ
    200C
    157
    ZWJ
    200D
    158
    ں
    06BA
    159
     
    A_
     
    NBSP
    00A0
    160
    ،
    060C
    161
    ¢
    00A2
    162
    £
    00A3
    163
    ¤
    00A4
    164
    ¥
    00A5
    165
    ¦
    00A6
    166
    §
    00A7
    167
    ¨
    00A8
    168
    ©
    00A9
    169
    ھ
    06BE
    170
    «
    00AB
    171
    ¬
    00AC
    172
    SHY
    00AD
    173
    ®
    00AE
    174
    ¯
    00AF
    175
     
    B_
     
    °
    00B0
    176
    ±
    00B1
    177
    ²
    00B2
    178
    ³
    00B3
    179
    ´
    00B4
    180
    µ
    00B5
    181

    00B6
    182
    ·
    00B7
    183
    ¸
    00B8
    184
    ¹
    00B9
    185
    ؛
    061B
    186
    »
    00BB
    187
    ¼
    00BC
    188
    ½
    00BD
    189
    ¾
    00BE
    190
    ؟
    061F
    191
     
    C_
     
    ہ
    06C1
    192
    ء
    0621
    193
    آ
    0622
    194
    أ
    0623
    195
    ؤ
    0624
    196
    إ
    0625
    197
    ئ
    0626
    198
    ا
    0627
    199
    ب
    0628
    200
    ة
    0629
    201
    ت
    062A
    202
    ث
    062B
    203
    ج
    062C
    204
    ح
    062D
    205
    خ
    062E
    206
    د
    062F
    207
     
    D_
     
    ذ
    0630
    208
    ر
    0631
    209
    ز
    0632
    210
    س
    0633
    211
    ش
    0634
    212
    ص
    0635
    213
    ض
    0636
    214
    ×
    00D7
    215
    ط
    0637
    216
    ظ
    0638
    217
    ع
    0639
    218
    غ
    063A
    219
    ـ
    0640
    220
    ف
    0641
    221
    ق
    0642
    222
    ك
    0643
    223
     
    E_
     
    à
    00E0
    224
    ل
    0644
    225
    â
    00E2
    226
    م
    0645
    227
    ن
    0646
    228
    ه
    0647
    229
    و
    0648
    230
    ç
    00E7
    231
    è
    00E8
    232
    é
    00E9
    233
    ê
    00EA
    234
    ë
    00EB
    235
    ى
    0649
    236
    ی
    064A
    237
    î
    00EE
    238
    ï
    00EF
    239
     
    F_
     
    ً
    064B
    240
    ٌ
    064C
    241
    ٍ
    064D
    242
    َ
    064E
    243
    ô
    00F4
    244
    ُ
    064F
    245
    ِ
    0650
    246
    ÷
    00F7
    247
    ّ
    0651
    248
    ù
    00F9
    249
    ْ
    0652
    250
    û
    00FB
    251
    ü
    00FC
    252
    LRM
    200E
    253
    RLM
    200F
    254
    ے
    06D2
    255
      _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

    جدول اولی استاندارد فارسی داس ایران سیستم است و جدول بعدی استاندارد فارسی ویندوز 1256 است.

    همانگونه که نشان داده شده است تفاوت های زیر در دو استاندارد موجود است:

    • کد اسکی تمام کاراکترهای مشابه با همدیگر متفاوت است. برای مثال ن در فارسی داس ایران سیستم دارای کد اسکی 246 و در فارسی ویندوز دارای کد اکسی 228 است.
    • در فارسی داس ایران سیستم بین حروف اول و حروف آخر تمایز وجود دارد مثلا ن آخر دارای کد 246  و ن چسبان دارای کد 247 می باشد.
    • در فارسی داس ایران سیستم دو حرف لا دارای تنها یک کد اسکی می باشد . آن هم 242 می باشد.

    با توجه به موارد ذکر شده برای ایجاد الگوریتم تبدیل فارسی ویندوز به داس و بالعکس باید موارد زیر را در نظر داشت:

    • ایجاد دیکشنری هایی که نگاشت بین کد اسکی فارسی ویندوز و فارسی داس را انجام می دهند.
    • تبدیل متن فارسی ویندوز به آرایه ای از کدهای اسکی متناظر
    • حرکت بین کاراکترهای یک متن و نگاشت کدهای اسکی بدست آمده به کدهای اسکی فارسی داس
    • مد نظر قرار دادن استثناها و حروف آخر
    • مد نظر قرار دادن پرانتزها، آکولاد و غیره ( "{" به جای "}" این و بالعکس

    ابتدا کلاسی ایجاد نمایید و آن را کلاس ConvertWindowsPersianToDos نام گذاری کنید.

    کلاس تبدیل فارسی ویندوز به داس ایران سیستم ConvertWindowsPersianToDos 

    public class ConvertWindowsPersianToDos
    }
    
    {

    سپس چهار دیکشنری که نگاشت بین کدهای اسکی ویندوز 1256 و اسکی داس ایران سیستم را با در نظر گرفتن رخدادهای مختلف ( مثلا حروف چسبان باشند ایجاد می کنیم)

    
       public Dictionary CharachtersMapper_Group1 = new Dictionary<byte,byte>
            {
            {48 , 128}, // 0
            {49 , 129}, // 1
            {50 , 130}, // 2
            {51 , 131}, // 3
            {52 , 132}, // 4
            {53 , 133}, // 5
            {54 , 134}, // 6
            {55 , 135}, // 7
            {56 , 136}, // 8
            {57 , 137}, // 9
            {161, 138}, // ،
            {191, 140}, // ؟
            {193, 143}, //ء 
            {194, 141}, // آ
            {195, 144}, // أ
            {196, 248}, //ؤ  
            {197, 144}, //إ
            {200, 146}, //ب 
            {201, 249}, //ة
            {202, 150}, //ت
            {203, 152}, //ث 
            {204, 154}, //ﺝ
            {205, 158}, //ﺡ
            {206, 160}, //ﺥ
            {207, 162}, //د
            {208, 163}, //ذ
            {209, 164}, //ر
            {210, 165},//ز
            {211, 167},//س
            {212, 169},//ش
            {213, 171}, //ص
            {214, 173}, //ض
            {216, 175}, //ط
            {217, 224}, //ظ
            {218, 225}, //ع
            {219, 229}, //غ
            {220, 139}, //-
            {221, 233},//ف
            {222, 235},//ق
            {223, 237},//ك
            {225, 241},//ل
            {227, 244},//م
            {228, 246},//ن
            {229, 249},//ه
            {230, 248},//و
            {236, 253},//ى
            {237, 253},//ی
            {129, 148},//پ
            {141, 156},//چ
            {142, 166},//ژ
            {152, 237},//ک
            {144, 239},//گ
               };
    
            public Dictionary<byte, byte> CharachtersMapper_Group2 = new Dictionary<byte, byte>
            {
           {48,128},//
           {49,129},//
           {50,130},
           {51,131},//
           {52,132},//
           {53,133},
           {54,134},//
           {55,135},//
           {56,136},
           {57,137},//
           {161,138},//،
           {191,140},//?
           {193,143},//ء
           {194,141},//آ
           {195,144},//أ
           {196,248},//ؤ
           {197,144},//إ
           {198,254},//ئ
           {199,144},//ا
           {200,147},//ب
           {201,251},//ة
           {202,151},//ت
           {203,153},//ث
           {204,155},//ج
           {205,159},//ح
           {206,161},//خ
           {207,162},//د
           {208,163},//ذ
           {209,164},//ر
           {210,165},//ز
           {211,168},//س
           {212,170},//ش
           {213,172},//ص
           {214,174},//ض
           {216,175},//ط
           {217,224},//ظ
           {218,228},//ع
           {219,232},//غ
           {220,139},//-
           {221,234},//ف
           {222,236},//ق
           {223,238},//ك
           {225,243},//ل
           {227,245},//م
           {228,247},//ن
           {229,251},//ه
           {230,248},//و
           {236,254},//ی
           {237,254},//ی
           {129,149},//پ
           {141 ,157},//چ
           {142,166},//ژ
           {152,238},//ک
           {144,240},//گ
             };
    
            public Dictionary<byte, byte> CharachtersMapper_Group3 = new Dictionary<byte, byte>
            {
            {48 , 128}, // 0
            {49 , 129}, // 1
            {50 , 130}, // 2
            {51 , 131}, // 3
            {52 , 132}, // 4
            {53 , 133}, // 5
            {54 , 134}, // 6
            {55 , 135}, // 7
            {56 , 136}, // 8
            {57 , 137}, // 9
            {161, 138}, // ،
            {191, 140}, // ؟
            {193, 143}, //
            {194, 141}, //
            {195, 145}, //
            {196, 248}, //
            {197, 145}, // 
            {198, 252}, //
            {199, 145}, // 
            {200, 146}, // 
            {201, 249}, //
            {202, 150}, //
            {203, 152}, // 
            {204, 154}, //
            {205, 158}, // 
            {206, 160}, //
            {207, 162}, //
            {208, 163}, // 
            {209, 164}, //
            {210, 165}, //
            {211, 167}, // 
            {212, 169}, // 
            {213, 171}, //
            {214, 173}, // 
            {216, 175}, // 
            {217, 224}, //
            {218, 226}, // 
            {219, 230}, // 
            {220, 139}, //
            {221, 233}, // 
            {222, 235}, //
            {223, 237}, //
            {225, 241}, // 
            {227, 244}, //
            {228, 246}, //
            {229, 249}, //   
            {230, 248}, // 
            {236, 252}, //
            {237, 252}, // 
            {129, 148}, // 
            {141, 156}, //
            {142, 166}, // 
            {152, 237}, // 
            {144, 239}//
    };
    
             public Dictionary<byte, byte> CharachtersMapper_Group4= new Dictionary<byte, byte>
            {
                {48 , 128}, // 0
                {49 , 129}, // 1
                {50 , 130}, // 2
                {51 , 131}, // 3
                {52 , 132}, // 4
                {53 , 133}, // 5
                {54 , 134}, // 6
                {55 , 135}, // 7
                {56 , 136}, // 8
                {57 , 137}, // 9
                {161, 138}, // ،
                {191, 140}, // ؟
                {193,143}, //
                {194,141}, //
                {195,145}, //
                {196,248}, // 
                {197,145}, // 
                {198,254}, //
                {199,145}, // 
                {200,147}, // 
                {201,250}, //
                {202,151}, //
                {203,153}, //
                {204,155}, //
                {205,159}, //
                {206,161}, //
                {207,162}, //
                {208,163}, //
                {209,164}, //
                {210,165}, //
                {211,168}, // 
                {212,170}, //
                {213,172}, //
                {214,174}, //
                {216,175}, // 
                {217,224}, //
                {218,227}, //
                {219,231}, //
                {220,139}, //
                {221,234}, //
                {222,236}, //
                {223,238}, //
                {225,243}, //
                {227,245}, // 
                {228,247}, //
                {229,250}, //
                {230,248}, //
                {236,254}, //
                {237,254}, // 
                {129,149}, //
                {141,157}, //
                {142,166}, // 
                {152,238}, // 
                {144,240}, //
    };
     

    به این دلیل که حروف لاتین جز کاراکترهایی است که بدون تغییر باید از استاندارد فارسی ویندوز به فارسی داس تبدیل شود بنابراین باید یک سری تابع برای بررسی این امر داشته باشیم. بنابراین توابع مورد نیاز را به کلاس فوق اضافه می کنیم. 

    توابع مورد نیاز برای چک حروف لاتین

    public bool is_Lattin_Letter(byte c)
    {
         if (c < 128 && c > 31)
         {
             return true;
         }
            return false;
            
    }
    public byte get_Lattin_Letter(byte c)
            {
                if ("0123456789".IndexOf((char) c)>=0 )
                    return (byte)(c+80);
    	        return get_FarsiExceptions(c);
            }
    
    private byte get_FarsiExceptions(byte c)
    {
       switch (c)
    	{
                case (byte)'(': return (byte)')' ;
                case (byte)'{': return (byte)'}';
                case (byte)'[': return (byte)']';
                case (byte)')': return (byte)'(';
                case (byte)'}': return (byte)'{';
                case (byte)']': return (byte)'[';
    	    default: return (byte)c;
             
    	}
    
    }

     


    افزودن سایر توابع برای بررسی استثناهای موجود و تمایز بین حروف چسبان و حروف آخر

    افزودن توابع برای بررسی استثناها

    public bool is_Final_Letter(byte c)
    {
          string s="ءآأؤإادذرزژو";
                 
          if ( s.ToString().IndexOf((char)c)>=0)
          {
              return true;
    		 
           }
               return false;
     }
    public bool IS_White_Letter(byte c)
    {
        if (c== 8 || c== 09 || c== 10 || c== 13 || c==27 || c== 32 || c== 0 )
        {
            return true;
        }
        return false;
    }
    public bool Char_Cond(byte c)
    {
        return IS_White_Letter(c)
            || is_Lattin_Letter(c)
            || c==191;
    }
    

     


    در نهایت باید توابع مورد نظر را فراخوانی کرد. منتها باید قبل از آن متن را به بایت های اسکی تبدیل کرد. 

    افزودن کدهای مورد نیاز 

    public List get_Unicode_To_IranSystem(string Unicode_Text)
            {
               
    // " رشته ای که فارسی است را دو کاراکتر فاصله به ابتدا و انتهایآن اضافه می کنیم
                string unicodeString = " "+Unicode_Text+" ";
                //ایجاد دو انکدینگ متفاوت
                Encoding ascii = //Encoding.ASCII;
                    Encoding.GetEncoding("windows-1256");
                Encoding unicode = Encoding.Unicode;
                // تبدیل رشته به بایت
                byte[] unicodeBytes = unicode.GetBytes(unicodeString);
                // تبدیل بایتها از یک انکدینگ به دیگری
                byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
                // Convert the new byte[] into a char[] and then into a string.
                char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
                ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
                string asciiString = new string(asciiChars);
                byte[] b22 = Encoding.GetEncoding("windows-1256").GetBytes(asciiChars);
                 int  limit = b22.Length;
                byte pre=0, cur=0;
                List IS_Result = new List();
                for (int i = 0; i < limit; i++)
    			{
                    if(is_Lattin_Letter(b22[i]))
                    {
                        cur= get_Lattin_Letter( b22[i]);
                        IS_Result.Add(cur);
                        pre = cur;
                    }
                    else if(i!=0 && i!=b22.Length-1)
                    {
                        cur = get_Unicode_To_IranSystem_Char(b22[i - 1], b22[i], b22[i + 1]);
                        if (cur== 145) // برای بررسی استثنای لا
                        {
                            if (pre==243)
                            {
                                IS_Result.RemoveAt(IS_Result.Count - 1);
                                IS_Result.Add(242);
                            }
                            else
                            {
                                IS_Result.Add(cur);
                            }
                        }
                        else
                        {
                            IS_Result.Add(cur);
                        }
                           pre = cur;
                    }
    			}
                return IS_Result;
            }

     


     در متد بالا از متد get_Unicode_To_IranSystem_Char استفاده شده است. کد مربوط به این متد و متدهای لازم در آن را در بلوک زیر مشاهده می فرمایید:

    
     public byte get_Unicode_To_IranSystem_Char(byte PreviousChar, byte CurrentChar , byte NextChar)
            {
                          bool PFlag = Char_Cond(PreviousChar) || is_Final_Letter(PreviousChar);
                bool NFlag =Char_Cond(NextChar);
                if (PFlag && NFlag) return UCTOIS_Group_1(CurrentChar);
                else if (PFlag) return UCTOIS_Group_2(CurrentChar);
                else if (NFlag) return UCTOIS_Group_3(CurrentChar);
                 return UCTOIS_Group_4(CurrentChar);
            }
            private byte UCTOIS_Group_4(byte CurrentChar)
            { 
                if (CharachtersMapper_Group4.ContainsKey(CurrentChar))
                {
                    return (byte)CharachtersMapper_Group4[CurrentChar];
                }
                return (byte)CurrentChar;
            }
            private byte UCTOIS_Group_3(byte CurrentChar)
            {
                if (CharachtersMapper_Group3.ContainsKey(CurrentChar))
                {
                    return (byte)CharachtersMapper_Group3[CurrentChar];
                }
                return (byte)CurrentChar;
            }
            private byte UCTOIS_Group_2(byte CurrentChar)
            {
                if (CharachtersMapper_Group2.ContainsKey(CurrentChar))
                {
                    return (byte)CharachtersMapper_Group2[CurrentChar];
                }
                return (byte)CurrentChar;
            }
            private byte UCTOIS_Group_1(byte CurrentChar)
            {
                if (CharachtersMapper_Group1.ContainsKey(CurrentChar))
                {
                    return (byte)CharachtersMapper_Group1[CurrentChar];
                }
                return (byte)CurrentChar;
            }
     

    برای ایجاد دیسکت بیمه می توانید از این تبدیل استفاده نمایید.

    نظرات ارسال شده ارسال نظر جدید
    برای تبادل نظر، می بایست در سایت وارد شوید

    ورود به سایت
تماس گفتگو سبد خرید بالا