﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>آموزش برنامه نویسی</title>
    <description>تمام الفاظ جهان را در اختیار داشتیم و آن نگفتیم که به کار آید ...</description>
    <link>http://javadevelopers.persianblog.ir/</link>
    <copyright>PersianBlog</copyright>
    <managingEditor>محمد امین نامیار</managingEditor>
    <lastBuildDate>Wed, 05 May 2010 08:11:02 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>PersianBlog</generator>
    <item>
      <title>نکته ای جالب درباره کار با OracleCachedRowSet</title>
      <description>&lt;p&gt;خوب همون طور که میدونید یکی از روشهای اتصال به پایگاه های داده ، اتصال غیر متصله(Disconnected Mode ) ... و تفاوت این نوع اتصال با نوع مقابلش که روش متصله ( Connected ) اینه که پس از اجرای عملیات چه Callable Statement و یا اجرای Query به یکباره تمام اطلاعات رو دریافت میکنه و در حافظه برای استفاده نگهداری میکنه و خوب چون به سرعت کارشو با دیتابیس تموم میکنه و ارتباطو منتظر خوندن ما نمیذاره من خیلی دوستش دارم ...&amp;nbsp; کلاس OracleCachedRowSet هم دقیقا یکی از همین ابزار هاست و دقیقا همین کارو برای ما میکنه ... 1 - برقراری ارتباط&amp;nbsp; 2 - انجام عملیات (مثلا Select )&lt;/p&gt;
&lt;p&gt;3 - قطع ارتباط ... خیلی رویاییه نه ؟ اما تا حالا فکر کردین برای واکشی 8 میلیون رکورد&amp;nbsp; حداقل 8 فیلدی حالا با حجم متوسط چه باید کرد ؟ و این حجم دیتا کجا باید قرار بگیره ؟&lt;/p&gt;
&lt;p&gt;خوب من با یک سیستم عامل Suse Linux&amp;nbsp; 64 bit و 16 GB حافظه مشکل رو حل کردم و تقریبا 7 گیگا بایت از حافظه سرورم رو با یک Select&amp;nbsp; اشغال کردم ...اما اگه این حجم دیتا دوبرابر بشه چی ؟&lt;/p&gt;
&lt;p&gt;برای رفع این مشکل حتما از Paging در OracleCachedRowSetاستفاده کنید و هربار تعداد مشخصی از دیتا رو برحسب مقدار حافظه تون واکشی کنید. مثلا برای 8 میلیون هر با 1 میلیون دیتا بردارید ... البته باید اینو هم در نظر بگیرید که هر بار&amp;nbsp; دیگه دیتاهای واکشی قبل رو در اختیار ندارید. پس سعی کنید در هر واکشی کارتونو با اون مقدار تموم کنید و نکته مهمتر اینکه این گونه کارها حتما باید با دیتابیس های آفلاین انجام بشه و گرنه با این مشکل اساسی برای دیتابیستون درست میکنید.&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/25</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=4531811</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-4531811</guid>
      <pubDate>Wed, 05 May 2010 08:11:02 GMT</pubDate>
    </item>
    <item>
      <title>الگوریتم BlueFish برای Encryption</title>
      <description>&lt;p style="text-align: left;" dir="ltr"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String mode = "Blowfish/CBC/PKCS5Padding";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String algorithm = "Blowfish";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] result = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte secret[] = "yourkey".getBytes();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Key key = new SecretKeySpec(secret, algorithm);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] ivBytes =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IvParameterSpec iv = new IvParameterSpec(ivBytes);&lt;/p&gt;
&lt;p style="text-align: left;" dir="ltr"&gt;//&amp;nbsp; -------------------------------------------------------&lt;/p&gt;
&lt;p style="text-align: left;" dir="ltr"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public byte[] Crypto(byte[] input,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int EnMode) throws NoSuchAlgorithmException,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NoSuchPaddingException,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InvalidKeyException,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InvalidAlgorithmParameterException,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IllegalBlockSizeException,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BadPaddingException {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cipher cipher = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] coded = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cipher = Cipher.getInstance(mode);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cipher.init(EnMode, key, iv);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coded = cipher.doFinal(input);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return coded;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: right;" dir="rtl"&gt;فقط کافیه که متدش رو صدا بزنید و بایت های خودتونو برای Encryption ارسال کنید.&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/23</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=4531592</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-4531592</guid>
      <pubDate>Wed, 05 May 2010 07:05:07 GMT</pubDate>
    </item>
    <item>
      <title>نحوه استفاده از OracleDataSource ...</title>
      <description>&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH = new OracleDataSource();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH.setURL(cnnStr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH.setUser(UserName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH.setPassword(Pass);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH.setConnectionCachingEnabled(true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH.setConnectionCacheName(CACHE_NAME);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Properties cacheProps = new Properties();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheProps.setProperty("PropertyCheckInterval", "1");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheProps.setProperty("InitialLimit", "5");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheProps.setProperty("MinLimit", "5");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheProps.setProperty("MaxLimit", "20");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheProps.setProperty("ValidateConnection", "True");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; odsH.setConnectionCacheProperties(cacheProps);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (SQLException e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Connection getConnection() throws InterruptedException {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection cnn = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (i &amp;lt; 10) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnn = odsH.getConnection();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (SQLException e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.sleep(500);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return cnn;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;همینطور که میبینید با استفاده از این&amp;nbsp; DataSource مدیریت تعداد Connection و همینطور&amp;nbsp; Connection Pooling رو در اختیار این کلاس قرار میدیم ... این کلاس واقعا این کار رو راحت میکنه و من به شما توصیه میکنم اگه از JDBC استفاده میکنید حتما ازش استفاده کنید.&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/22</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=4531581</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-4531581</guid>
      <pubDate>Wed, 05 May 2010 06:57:26 GMT</pubDate>
    </item>
    <item>
      <title>مبدل ایران سیستم به Unicode</title>
      <description>&lt;p style="text-align: left;"&gt;public class IranSystemToUnicode {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static int[][] Charset = new int[78][3];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IranSystemToUnicode() {&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[0][0] = 141;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[0][1] = 0x0622;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[0][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[1][0] = 142;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[1][1] = 0x0626;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[1][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[2][0] = 143;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[2][1] = 0x0621;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[2][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[3][0] = 144;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[3][1] = 0x0627;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[3][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[4][0] = 145;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[4][1] = 0x0627;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[4][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[5][0] = 146;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[5][1] = 0x0628;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[5][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[6][0] = 147;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[6][1] = 0x0628;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[6][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[7][0] = 148;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[7][1] = 0x067e;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[7][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[8][0] = 149;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[8][1] = 0x067e;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[8][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[9][0] = 150;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[9][1] = 0x062a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[9][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[10][0] = 151;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[10][1] = 0x062a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[10][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[11][0] = 152;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[11][1] = 0x062b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[11][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[12][0] = 153;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[12][1] = 0x062b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[12][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[13][0] = 154;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[13][1] = 0x062c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[13][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[14][0] = 155;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[14][1] = 0x062c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[14][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[15][0] = 156;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[15][1] = 0x0686;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[15][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[16][0] = 157;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[16][1] = 0x0686;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[16][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[17][0] = 158;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[17][1] = 0x062d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[17][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[18][0] = 159;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[18][1] = 0x062d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[18][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[19][0] = 160;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[19][1] = 0x062e;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[19][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[20][0] = 161;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[20][1] = 0x062e;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[20][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[21][0] = 162;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[21][1] = 0x062f;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[21][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[22][0] = 163;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[22][1] = 0x0630;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[22][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[23][0] = 164;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[23][1] = 0x0631;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[23][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[24][0] = 165;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[24][1] = 0x0632;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[24][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[25][0] = 166;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[25][1] = 0x0698;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[25][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[26][0] = 167;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[26][1] = 0x0633;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[26][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[27][0] = 168;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[27][1] = 0x0633;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[27][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[28][0] = 169;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[28][1] = 0x0634;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[28][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[29][0] = 170;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[29][1] = 0x0634;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[29][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[30][0] = 171;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[30][1] = 0x0635;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[30][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[31][0] = 172;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[31][1] = 0x0635;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[31][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[32][0] = 173;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[32][1] = 0x0636;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[32][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[33][0] = 174;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[33][1] = 0x0636;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[33][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[34][0] = 175;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[34][1] = 0x0637;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[34][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[35][0] = 224;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[35][1] = 0x0638;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[35][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[36][0] = 225;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[36][1] = 0x0639;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[36][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[37][0] = 226;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[37][1] = 0x0639;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[37][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[38][0] = 227;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[38][1] = 0x0639;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[38][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[39][0] = 228;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[39][1] = 0x0639;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[39][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[40][0] = 229;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[40][1] = 0x063a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[40][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[41][0] = 230;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[41][1] = 0x063a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[41][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[42][0] = 231;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[42][1] = 0x063a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[42][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[43][0] = 232;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[43][1] = 0x063a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[43][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[44][0] = 233;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[44][1] = 0x0641;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[44][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[45][0] = 234;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[45][1] = 0x0641;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[45][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[46][0] = 235;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[46][1] = 0x0642;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[46][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[47][0] = 236;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[47][1] = 0x0642;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[47][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[48][0] = 237;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[48][1] = 0x06a9;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[48][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[49][0] = 238;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[49][1] = 0x06a9;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[49][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[50][0] = 239;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[50][1] = 0x06af;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[50][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[51][0] = 240;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[51][1] = 0x06af;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[51][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[52][0] = 241;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[52][1] = 0x0644;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[52][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[53][0] = 243;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[53][1] = 0x0644;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[53][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[54][0] = 244;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[54][1] = 0x0645;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[54][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[55][0] = 245;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[55][1] = 0x0645;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[55][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[56][0] = 246;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[56][1] = 0x0646;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[56][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[57][0] = 247;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[57][1] = 0x0646;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[57][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[58][0] = 248;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[58][1] = 0x0648;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[58][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[59][0] = 249;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[59][1] = 0x0647;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[59][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[60][0] = 250;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[60][1] = 0x0647;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[60][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[61][0] = 251;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[61][1] = 0x0647;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[61][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[62][0] = 252;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[62][1] = 0x06cc;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[62][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[63][0] = 253;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[63][1] = 0x06cc;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[63][2] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[64][0] = 254;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[64][1] = 0x06cc;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[64][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[65][0] = 128;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[65][1] = 0x06f0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[65][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[66][0] = 129;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[66][1] = 0x06f1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[66][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[67][0] = 130;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[67][1] = 0x06f2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[67][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[68][0] = 131;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[68][1] = 0x06f3;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[68][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[69][0] = 132;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[69][1] = 0x06f4;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[69][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[70][0] = 133;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[70][1] = 0x06f5;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[70][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[71][0] = 134;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[71][1] = 0x06f6;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[71][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[72][0] = 135;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[72][1] = 0x06f7;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[72][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[73][0] = 136;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[73][1] = 0x06f8;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[73][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[74][0] = 137;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[74][1] = 0x06f9;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[74][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[75][0] = 138;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[75][1] = 0x060c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[75][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[76][0] = 139;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[76][1] = 0x002d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[76][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[77][0] = 140;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[77][1] = 0x061f;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charset[77][2] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String IS_Convert(byte[] Buffer) throws Exception {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String result = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char[] Number = new char[Buffer.length];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int[] inBuffer = new int[Buffer.length];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int Counter = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int RCounter = 0; RCounter &amp;lt; inBuffer.length; RCounter++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inBuffer[(inBuffer.length - 1) - RCounter] = (int) Buffer[RCounter] + 256;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int Counter1 = 0; Counter1 &amp;lt; inBuffer.length; Counter1++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((inBuffer[Counter1] &amp;lt; 128) || (inBuffer[Counter1] &amp;gt; 254)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result += (char) (inBuffer[Counter1] - 256);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (inBuffer[Counter1] == 242) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result += "" + (char) 0x0644 + (char) 0x627;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int Counter2 = 0; Counter2 &amp;lt; 75; Counter2++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (inBuffer[Counter1] == Charset[Counter2][0]) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((inBuffer[Counter1] &amp;gt; 127) &amp;amp;&amp;amp; inBuffer[Counter1] &amp;lt; 138) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Number[(inBuffer.length - 1) - Counter] = (char) Charset[Counter2][1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Counter++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result += new String(Number, (inBuffer.length) - Counter, Counter);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Counter = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result += (char) Charset[Counter2][1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Charset[Counter2][2] == 1) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result += " ";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Counter &amp;gt; 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result += new String(Number, (inBuffer.length) - Counter, Counter);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception("Converting IranSystem");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p style="text-align: right;"&gt;دوستان همونطور که می دونید برای تبدیل فایل به utf 8 فقط کافیه که کاراکترهای صفر تا 128 رو تبدبل نکنید و برای تبدیل به unicode - utf16 BE,LE بخش بی ارزش کاراکتر رو در همون رنج با صفر پر کنید. تا دوبایت کامل باشه&amp;nbsp; و تگ nuicode&amp;nbsp; در ابتداری فایل فراموش نشه !&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/21</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=4531558</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-4531558</guid>
      <pubDate>Wed, 05 May 2010 06:47:40 GMT</pubDate>
    </item>
    <item>
      <title>Persian Calender With Java</title>
      <description>&lt;p style="text-align: right;"&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;اینم یه مبدل تقویم ....&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;public class Persion_Calendar {&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public static String Get_Persion_Date(String P_Year, String P_DayOfYear) {&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int PYear = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int PMonth = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int PDay = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MaxDay = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int Mode = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MYear = Integer.parseInt(P_Year);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MDayOfYear = Integer.parseInt(P_DayOfYear);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode = MYear % 4;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Mode == 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxDay = 366;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxDay = 365;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay = MDayOfYear + 286;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (PDay &amp;gt; MaxDay) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= MaxDay;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((PDay &amp;lt;= MaxDay) &amp;amp;&amp;amp; (PDay &amp;gt; 286)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PYear = MYear - 622;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PYear = MYear - 621;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode = PYear % 4;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Mode == 3) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxDay = 366;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((PDay &amp;gt; 336) &amp;amp;&amp;amp; (PDay &amp;lt;= MaxDay)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 12;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 336;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 306) &amp;amp;&amp;amp; (PDay &amp;lt;= 336)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 11;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 306;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 276) &amp;amp;&amp;amp; (PDay &amp;lt;= 306)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 10;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 276;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 246) &amp;amp;&amp;amp; (PDay &amp;lt;= 276)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 9;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 246;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 216) &amp;amp;&amp;amp; (PDay &amp;lt;= 246)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 8;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 216;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 186) &amp;amp;&amp;amp; (PDay &amp;lt;= 216)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 7;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 186;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 155) &amp;amp;&amp;amp; (PDay &amp;lt;= 186)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 6;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 155;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 124) &amp;amp;&amp;amp; (PDay &amp;lt;= 155)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 5;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 124;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 93) &amp;amp;&amp;amp; (PDay &amp;lt;= 124)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 4;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 93;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 62) &amp;amp;&amp;amp; (PDay &amp;lt;= 93)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 3;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 62;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((PDay &amp;gt; 31) &amp;amp;&amp;amp; (PDay &amp;lt;= 62)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDay -= 31;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (PDay &amp;lt;= 31) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMonth = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String Year = String.valueOf(PYear);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String Month = String.valueOf(PMonth);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String Day = String.valueOf(PDay);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Month.length() &amp;lt; 2) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Month = "0" + Month;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Day.length() &amp;lt; 2) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Day = "0" + Day;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Year.toString() + "/" + Month.toString() + "/" + Day.toString();&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/20</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=2796605</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-2796605</guid>
      <pubDate>Sun, 12 Apr 2009 08:07:34 GMT</pubDate>
    </item>
    <item>
      <title>MAC (کد تصدیق پیام)</title>
      <description>&lt;p style="text-align: left;"&gt;package isoPack;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;import java.util.Arrays;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;import javax.crypto.Cipher;&lt;br /&gt;import javax.crypto.spec.IvParameterSpec;&lt;br /&gt;import javax.crypto.spec.SecretKeySpec;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;public class MACObject {&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; private byte[] input;&lt;br /&gt;&amp;nbsp; private byte[] MAC;&lt;br /&gt;&amp;nbsp; private byte[] keyBytes;&lt;br /&gt;&amp;nbsp; private byte[] ivBytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };&lt;br /&gt;&amp;nbsp; private static String digits = "0123456789ABCDEF";&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; private String AlgorithmName = "DES";&lt;br /&gt;&amp;nbsp; private String AlgorithmMode = "CBC";&lt;br /&gt;&amp;nbsp; private String Padding = "NoPadding";&lt;br /&gt;&amp;nbsp; private String ProviderName = "BC";&lt;br /&gt;&amp;nbsp; private int BlockSize = 8;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&lt;br /&gt;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @return&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @throws Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp; public boolean CompareMAC() throws Exception {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Arrays.equals(MakeMAC(input), MAC);&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp; * Make and return the passed in byte array as a MAC.&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param input&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @return byte array&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @throws Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp; public byte[] MakeMAC(byte[] input) throws Exception {&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; Mac mac = Mac.getInstance(AlgorithmName, ProviderName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; Key macKey = new SecretKeySpec(keyBytes, AlgorithmName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; mac.init(macKey);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] halfMACKey = mac.doFinal(input);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(Utils.toHex(halfMACKey));&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Paddin Computation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (input.length % BlockSize != 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int padding = BlockSize - (input.length % BlockSize);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte temp[] = new byte[padding + input.length];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.arraycopy(input, 0, temp, 0, input.length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; padding; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp[input.length + i] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ComputeMAC(temp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ComputeMAC(input);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param input&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @return&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @throws Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp; private byte[] ComputeMAC(byte[] input) throws Exception {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cipher cipher = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] result = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte MacByte[] = new byte[8];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IvParameterSpec iv = new IvParameterSpec(ivBytes);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SecretKeySpec key = new SecretKeySpec(keyBytes, AlgorithmName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cipher =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cipher.getInstance(AlgorithmName + "/" + AlgorithmMode + "/" + Padding);&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cipher.init(Cipher.ENCRYPT_MODE, key, iv);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = cipher.doFinal(input);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 8; i &amp;gt; 0; i--) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MacByte[8 - i] = result[result.length - i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; input.length; i += BlockSize) {&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cipher.init(Cipher.ENCRYPT_MODE, key, iv);&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = cipher.doFinal(input, i, BlockSize);&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iv = new IvParameterSpec(result);&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return MacByte;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; private static byte[] ToEightByteArray(byte[] LongMac) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int len = LongMac.length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuilder stb = new StringBuilder();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; LongMac.length; i += 2) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stb.append((char)((byte)LongMac[i]));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stb.append((char)((byte)LongMac[i + 1]));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] data = new byte[len / 2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; len; i += 2) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data[i / 2] =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (byte)((Character.digit(stb.charAt(i), 16) &amp;lt;&amp;lt; 4) + Character.digit(stb.charAt(i +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return data;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp; * Return length many bytes of the passed in byte array as a hex string.&lt;br /&gt;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param data the bytes to be converted.&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param length the number of bytes in the data block to be converted.&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @return a hex representation of length bytes of data.&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp; public static String toHex(byte[] data, int length) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuffer buf = new StringBuffer();&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i != length; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int v = data[i] &amp;amp; 0xff;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buf.append(digits.charAt(v &amp;gt;&amp;gt; 4));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buf.append(digits.charAt(v &amp;amp; 0xf));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buf.append(" ");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return buf.toString();&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp; * Return the passed in byte array as a hex string.&lt;br /&gt;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @param data the bytes to be converted.&lt;br /&gt;&amp;nbsp;&amp;nbsp; * @return a hex representation of data.&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp; public static String toHex(byte[] data) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return toHex(data, data.length);&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public byte[] getInput() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return input;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setInput(byte[] input) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.input = input;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public byte[] getKeyBytes() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return keyBytes;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setKeyBytes(byte[] keyBytes) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.keyBytes = keyBytes;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public byte[] getIvBytes() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ivBytes;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setIvBytes(byte[] ivBytes) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.ivBytes = ivBytes;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public String getAlgorithmName() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return AlgorithmName;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setAlgorithmName(String AlgorithmName) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.AlgorithmName = AlgorithmName;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public String getProviderName() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ProviderName;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setProviderName(String ProviderName) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.ProviderName = ProviderName;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public int getBlockSize() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return BlockSize;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setBlockSize(int BlockSize) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.BlockSize = BlockSize;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public byte[] getMAC() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return MAC;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setMAC(byte[] MAC) throws Exception {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MAC.length == 8) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.MAC = MAC;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (MAC.length == 16) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.MAC = ToEightByteArray(MAC);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception("Mac should be 8 or 16 bits !!!");&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public String getAlgorithmMode() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return AlgorithmMode;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setAlgorithmMode(String AlgorithmMode) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.AlgorithmMode = AlgorithmMode;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public String getPadding() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Padding;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp; public void setPadding(String Padding) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Padding = Padding;&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p style="text-align: left;"&gt;}&lt;/p&gt;
&lt;p&gt;همون طور که می بینید این Package&amp;nbsp; شامل قطعه برنامه ایه که با استفاده از BCB اعتبار پیام فرستاده شده روی استاندارد Iso8583&amp;nbsp; رو بررسی میکنه ... اگه به کد دقت کنید متوجه میشید که بعضی از قسمت ها بعد از بهینه سازی کد Comment شده که توی زمان ساخت MAC و مقایسه با MAC اصلی صرفه جویی زیادی شده ....&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/19</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=2793014</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-2793014</guid>
      <pubDate>Sat, 11 Apr 2009 08:03:46 GMT</pubDate>
    </item>
    <item>
      <title>قدمهای اصلی در فرایند طراحی مدل چندبعدی سیستم :</title>
      <description>&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: justify;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;فرایند طراحی مدل چندبعدی بصورت بالا به پایین می باشد و دارای چهار قدم اصلی زیر است :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 36pt 0pt 0cm; direction: rtl; text-indent: -18pt; line-height: 150%; unicode-bidi: embed; text-align: justify; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;"&gt;&lt;span style="mso-list: Ignore;"&gt;1-&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;انتخاب فرایند تجاری: این فرایند، فرایند عملیاتی اصلی در سازمان مورد نظر می باشد . این سازمان شامل چندین سیستم می باشد که در آن داده ها برای پایگاه پردازش تحلیلی جمع آوری می شوند. به عنوان مثال : سیستم سفارش کالا, سیستم موجودی کالا و سیستم خرید.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 36pt 0pt 0cm; direction: rtl; text-indent: -18pt; line-height: 150%; unicode-bidi: embed; text-align: justify; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;"&gt;&lt;span style="mso-list: Ignore;"&gt;2-&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;انتخاب دانه : دانه در واقع یک رکورد در جدول حقیقت می باشد و می تواند یک تراکنش خاص باشد.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 36pt 0pt 0cm; direction: rtl; text-indent: -18pt; line-height: 150%; unicode-bidi: embed; text-align: justify; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;"&gt;&lt;span style="mso-list: Ignore;"&gt;3-&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;انتخاب بعدها : مانند زمان، محصول و مشتری. پس از انتخاب هر بعد، ویژگیهای آن بعد شناسایی می شوند.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 36pt 0pt 0cm; direction: rtl; text-indent: -18pt; line-height: 150%; unicode-bidi: embed; text-align: justify; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;"&gt;&lt;span style="mso-list: Ignore;"&gt;4-&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;انتخاب حقایق قابل اندازه گیری جدول حقایق : این حقایق مقادیر شمارشی و افزودنی می باشند.&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: rtl; text-indent: 17.85pt; line-height: 150%; unicode-bidi: embed; text-align: justify;" dir="rtl"&gt;&lt;span style="font-size: 14pt; line-height: 150%;" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;علاوه براین پایگاه پردازش تحلیلی شامل پارامترهای تحلیلی نیز می باشد که در واقع &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;داده تفصیلی یکی از بعدهای اصلی می باشد. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;پارامتر تحلیلی &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;رکوردی &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;از جدول حقیقت است که خلاصه ای از بعضی رکوردهای جدول حقیقت سطح پایه را ارائه می دهد. رکورد جدول حقیقت تحلیلی غالبا بایک یا چند رکورد جدول بعد تحلیلی در ارتباط است.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/17</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=2419188</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-2419188</guid>
      <pubDate>Sun, 28 Dec 2008 09:24:09 GMT</pubDate>
    </item>
    <item>
      <title>حجم‌های داده‌ای</title>
      <description>&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; text-indent: 0cm; line-height: 150%; unicode-bidi: embed; text-align: justify; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;حجم&amp;zwnj;های داده&amp;zwnj;ای&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: justify;" dir="rtl"&gt;حجم&amp;zwnj;های داده&amp;zwnj;ای یا Cube از ارتباط تعدادی بعد با تعدادی شاخص تعریف می&amp;zwnj;&amp;zwnj;شود. ترکیب memberهای هر بعد از حجم داده&amp;zwnj;ای فضای منطقی را تعریف می&amp;zwnj;کند که در آن مقادیر شاخص&amp;zwnj;ها &amp;nbsp;ظاهر می&amp;zwnj;&amp;zwnj;شوند. هر بخش مجزا که شامل یکی از memberهای بعد در حجم داده&amp;zwnj;ای است ، سلول نامیده&amp;zwnj;می&amp;zwnj;شود. سلول&amp;zwnj;ها شاخص&amp;zwnj;های مربوط به تجمیع&amp;zwnj;های مختلف را در خود نگهداری می&amp;zwnj;نمایند. در واقع مقادیر مربوط به حقایق که در جدول حقایق تعریف می&amp;zwnj;شوند در حجم داده&amp;zwnj;ای در سلول&amp;zwnj;ها نمایان می&amp;zwnj;گردند.&lt;/p&gt;
&lt;p style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: center;" dir="rtl" align="center"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;محورهای حجم داده&amp;zwnj;ای، صفت&amp;zwnj;های موجودیت&amp;zwnj;های انبار را مشخص می&amp;zwnj;کنند. به بیان دیگر هر محور مشخص کننده یک بعد از انبار است و هر مقدار روی محور یک member از آن بعد را مشخص می&amp;zwnj;نماید.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;حجم داده&amp;zwnj;ای بر خلاف آن چه از نام لاتینش استنباط می&amp;zwnj;&amp;zwnj;گردد و در نمودارها به نمایش در می&amp;zwnj;آید، در انبارهای داده واقعی می&amp;zwnj;تواند بسیار بیشتر از دو بعد داشته باشد.&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/15</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=2402981</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-2402981</guid>
      <pubDate>Wed, 24 Dec 2008 05:26:13 GMT</pubDate>
    </item>
    <item>
      <title>مدل‌های داده‌ای رابطه‌ای وچندبعدی</title>
      <description>&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; text-indent: 0cm; line-height: 150%; unicode-bidi: embed; text-align: right; mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;&lt;span style="line-height: 150%; mso-no-proof: yes;" lang="FA"&gt;مدل&amp;zwnj;های داده&amp;zwnj;ای رابطه&amp;zwnj;ای وچندبعدی&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar'; mso-no-proof: yes;" dir="ltr"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;- مدل داده &lt;strong&gt;رابطه&amp;zwnj;ای&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; بر اساس دو مفهوم اساسی موجودیت&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; و رابطه&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; بنا نهاده شده است. از این رو آن را با نام مدل &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;ER&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt; نیز می&amp;zwnj;شناسند.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;موجودیت: نمایانگر همه چیزهایی که در پایگاه داده وجود خارجی دارند یا به تصور در می&amp;zwnj;آیند. پدیده&amp;zwnj;ها دارای مشخصاتی هستندکه به آن&amp;zwnj;ها صفت&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; گفته می&amp;zwnj;شود.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;رابطه: پدیده&amp;zwnj;ها را به هم می&amp;zwnj;پیوندد و چگونگی در ارتباط قرار گرفتن آن&amp;zwnj;ها با یکدیگر را مشخص می&amp;zwnj;کند.&lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span lang="FA"&gt;نمونه&amp;zwnj;ای از نمودار&lt;/span&gt;&lt;span style="mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;ER&lt;/span&gt;&lt;span lang="FA"&gt; فرضی&lt;/span&gt;&lt;span style="mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;- مدل داده &lt;strong&gt;چند&amp;zwnj;بعدی&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;یا &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;MD&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt; بر پایه دو ساختار جدولی اصلی بنا نهاده&amp;zwnj;شده&amp;zwnj;است: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 36pt 0pt 0cm; direction: rtl; text-indent: -18pt; line-height: 150%; unicode-bidi: embed; text-align: right; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;جدول حقایق&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; یا&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 'B Zar'" dir="ltr"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; Fact Table&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 36pt 0pt 0cm; direction: rtl; text-indent: -18pt; line-height: 150%; unicode-bidi: embed; text-align: right; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&amp;middot;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;جداول ابعاد&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;rlm; یا&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 'B Zar'" dir="ltr"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; Dimension Table&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-size: 14pt; line-height: 150%;" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;این ساختار امکان داشتن یک نگرش مدیریتی و تصمیم&amp;zwnj;گیری به داده&amp;zwnj;های موجود در پایگاه داده را تسهیل می&amp;zwnj;کند. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;جدول حقایق: &lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;قلب حجم&amp;zwnj; داده&amp;zwnj;ای ما را تشکیل می&amp;zwnj;دهد و شامل دو سری فیلد است: کلیدهای خارجی به ابعاد و شاخص&amp;zwnj;ها&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;. جداول حقایق را می&amp;zwnj;توان به عنوان تابعی از ابعاد بر روی شاخص&amp;zwnj;ها تصور کرد.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;شاخص&amp;zwnj;ها یا &lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;Measure&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;: معیارهایی هستند که بر روی آن&amp;zwnj;ها تحلیل انجام می&amp;zwnj;گیرد و درون جدول حقایق قرار دارند. شاخص&amp;zwnj;ها قبل از شکل&amp;zwnj;گیری انبار داده توسط مدیران و تحلیل&amp;zwnj;گران به دقت مشخص می&amp;zwnj;&amp;zwnj;شوند. چون در مرحله کار با انبار اطلاعات اساسی هر تحلیل بر اساس همین شاخص&amp;zwnj;ها شکل می&amp;zwnj;گیرد. شاخص&amp;zwnj;&amp;zwnj;ها تقریباً همیشه مقادیر عددی را شامل می&amp;zwnj;شوند. مثلا برای یک فروشگاه زنجیره&amp;zwnj;ای این شاخص&amp;zwnj;ها می&amp;zwnj;توانند واحدهای فروخته&amp;zwnj;شده کالاها و مبلغ فروش به تومان باشند.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;بعد یا &lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;Dimension&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;: &lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;هر موجودیت در این مدل می&amp;zwnj;تواند با یک بعد تعریف شود. ولی بعدها با موجودیت&amp;zwnj;های مدل &lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;ER&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt; متفاوتند زیرا آن&amp;zwnj;ها&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt; &lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;سازمان شاخص&amp;zwnj;ها را تعیین می&amp;zwnj;کنند. علاوه بر این دارای یک ساختار سلسله مراتبی هستند و به طور کلی برای حمایت از سیستم&amp;zwnj;های تصمیم گیری سازمان&amp;zwnj;دهی شده&amp;zwnj;اند.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;اجزای بعدها &lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;member&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt; نام دارند و تقریباٌ همه بعدها، &lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;member&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;های خود را در یک یا چند سطح سلسله مراتبی&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; سازمان&amp;zwnj;دهی می&amp;zwnj;نمایند، که این سلسله مراتب نمایانگر مسیر تجمیع&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; و ارتباط بین سطوح پایین&amp;zwnj;تر (مثل روز) و سطوح بالاتر (مثل ماه و سال) است. وقتی یک دسته از &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 14pt; line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;member&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;های خاص با هم مفهوم جدیدی را ایجاد می&amp;zwnj;&amp;zwnj;کنند، به آنها یک سطح&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; می&amp;zwnj;گوییم. (مثلاٌ هر سی روز را ماه می&amp;zwnj;&amp;zwnj;گوییم. در این حالت ماه یک سطح است. )&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;مثلاً در فروشگاه زنجیره&amp;zwnj;ای بعدهایی از قبیل بعد زمان، فروشگاه، محصول و خریدار رامی&amp;zwnj;توانیم داشته باشیم. که بعد زمان دارای سطوحی از قبیل روز، هفته، ماه، فصل و سال است، که &lt;/span&gt;&lt;span style="line-height: 150%; mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;member&lt;/span&gt;&lt;span style="line-height: 150%;" lang="FA"&gt;ها را طبقه&amp;zwnj;بندی می&amp;zwnj;کنند. بعد فروشگاه هم ممکن است دارای سلسله مراتبی به شکل زیر باشد: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-size: 14pt; line-height: 150%;" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;فروشگاه&amp;gt; شهر&amp;gt; استان&amp;gt; کشور&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span lang="FA"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span lang="FA"&gt;سطوح و &lt;/span&gt;&lt;span style="mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;member&lt;/span&gt;&lt;span lang="FA"&gt;های بعد زمان&lt;/span&gt;&lt;span style="mso-bidi-font-family: 'B Zar';" dir="ltr"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: right;" dir="rtl"&gt;&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'B Zar'" lang="FA"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-language: FA; mso-ansi-language: EN-US; mso-fareast-language: EN-US;" dir="rtl" lang="FA"&gt;اما لازم به ذکر است که ممکن است همه ابعاد دارای ساختار سلسله مراتبی نباشند. بلکه برخی ابعاد به صورت فهرستی از مقادیر می&amp;zwnj;&amp;zwnj;باشند. برای مثال بعد جنسیت دارای دو نوع داده زن و مرد است که هیچ ساختار سلسله مراتبی برای آن&amp;zwnj;ها متصور نیست.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 7.2pt 0pt 0cm; direction: rtl; line-height: 150%; unicode-bidi: embed; text-align: left;" dir="rtl"&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-language: FA; mso-ansi-language: EN-US; mso-fareast-language: EN-US;" dir="rtl" lang="FA"&gt;ادامه دارد ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/14</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=2402975</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-2402975</guid>
      <pubDate>Wed, 24 Dec 2008 05:19:58 GMT</pubDate>
    </item>
    <item>
      <title>OLAPچیست؟</title>
      <description>&lt;p style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; TEXT-INDENT: 0cm; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" dir="rtl"&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;OLAPچیست؟&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify; tab-stops: right 9.0pt 36.0pt" dir="rtl"&gt;تکنولوژیOLAP پاسخی جدید به مشکلات سیستم&amp;zwnj;های حمایت از تصمیم&amp;zwnj;گیری، است. تکنولوژی OALP ابزارها و مفاهیمی را ارائه می&amp;zwnj;کند که به وسیله آن&amp;zwnj;ها امکان انجام یک تحلیل موثر و دلخواه بر روی هر نوع داده&amp;zwnj;ای فراهم می&amp;zwnj;گردد.OLAP یک تکنیک ساده نیست بلکه مجموعه&amp;zwnj;ای از مفاهیمی از قبیل سازمان پایگاه داده، نمایش داده و مدل کردن کواِری است.&lt;/p&gt;
&lt;p style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify; tab-stops: right 9.0pt 36.0pt" dir="rtl"&gt;تکنولوژیOLAP نامی است که به طیف گسترده&amp;zwnj;ای از تکنیک&amp;zwnj;ها اطلاق می&amp;zwnj;شود. این تکنیک&amp;zwnj;ها شامل روشهایی برای مرتب کردن، پرس و جو کردن و تحلیل کردن داده&amp;zwnj;ها است. همچنین شامل&amp;nbsp; قالب&amp;zwnj;&amp;zwnj;های گزارش&amp;zwnj;گیری و رابط کاربر هم هستند. &amp;nbsp;می&amp;zwnj;توان خصوصیات قابل ارزیابی OLAP را در قالب عبارت زیر توصیف نمود:&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify; tab-stops: right 9.0pt 36.0pt" dir="rtl"&gt;"تحلیل سریع اطلاعات چند بعدی اشتراکی"&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify" dir="rtl"&gt;که در&amp;nbsp;یادداشت های&amp;nbsp;آتی&amp;nbsp;به توضیح آن خواهیم پرداخت:&lt;/p&gt;
&lt;p style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify" dir="rtl"&gt;تحلیل: منظور از تحلیل آن است که سیستم باید بتواند از عهده هر تحلیل منطقی و آماری که مورد نیاز کاربر باشد، برآید. تحلیل ممکن است شامل تحلیل سری&amp;zwnj;های زمانی، تخصیص هزینه، تبدیل واحد پول، جستجوی هدف، کواِری&amp;zwnj;های مخصوص ساختارهای چند بعدی، مدل کردن غیر رویه&amp;zwnj;ای، تشخیص استثنا، داده&amp;zwnj;کاوی و سایر کاربرد&amp;zwnj;ها باشد. انجام همه این تحلیل&amp;zwnj;ها باید برای کاربر نهایی به اندازه کافی ساده باشند.&lt;/p&gt;
&lt;p style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify" dir="rtl"&gt;سریع: منظور از سرعت آن است که سیستم باید بیشتر پاسخ خود را در زمان معقولی به کاربر بازگرداند. تحقیقات اخیر نشان داده&amp;zwnj;است که اگر کاربر نهایی ظرف 30 ثانیه پاسخی دریافت نکند،&amp;nbsp; تصور می&amp;zwnj;کند که فرایند دچار شکست شده است. &amp;nbsp;رسیدن به این معیار ( یعنی زمان پاسخ کمتر از 30 ثانیه) هنگامی که با حجم زیادی از اطلاعات سروکار داریم کار ساده&amp;zwnj;ای نیست. بخصوص وقتی نیاز به کواِری&amp;zwnj;های پیچیده و مستقل داریم. محصولات OLAP چندین راهکار برای رسیدن به این سرعت ارائه نموده است، که روش&amp;zwnj;هایی مثل &amp;nbsp;اختصاصی کردن نوع ذخیره&amp;zwnj;سازی داده، شاخص بندی، از پیش محاسبه کردن تجمیع&amp;zwnj;ها و سخت افزارهای ویژه از آن دسته روش&amp;zwnj;ها هستند.&lt;/p&gt;
&lt;p style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify" dir="rtl"&gt;چند بعدی: یک نیاز اساسی OLAP است. سیستم باید یک شمای مفهومی چند بعدی از داده&amp;zwnj;ها را مهیا نماید، که شامل مفاهیم سلسله مراتبی هم باشد. همچنین باید قابلیت داشتن تعداد دلخواه بعد و سطح تجمیع را فراهم کند.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify" dir="rtl"&gt;اشتراکی: منظور این است که سیستم همه نیازمندی&amp;zwnj;های امنیتی را برای محرمانه ماندن داده&amp;zwnj;ها و برای دسترسی&amp;zwnj;های چندگانه خواندن/نوشتن پیاده&amp;zwnj;سازی کند. به خصوص محرمانه ماندن معقوله مشکلی است. برای تحلیل مناسب پایگاه داده&amp;zwnj;های مربوط به OLAP باید شامل هر مقدار داده که ممکن است باشند. برای محدود کردن دسترسی به داده&amp;zwnj;های محرمانه، باید یک مراقبت خاص برای دسترسی&amp;zwnj;های درست و سطوح دسترسی تعریف شود.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 7.2pt 0pt 0cm; DIRECTION: rtl; LINE-HEIGHT: 150%; unicode-bidi: embed; TEXT-ALIGN: justify" dir="rtl"&gt;&lt;span style="font-size: 14pt; line-height: 150%; font-family: &amp;quot;B Zar&amp;quot;;" lang="FA"&gt;&lt;span style="font-family: Times New Roman;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://javadevelopers.persianblog.ir/post/13</link>
      <author>محمد امین نامیار</author>
      <comments>http://comments.persianblog.ir/?blogID=119927&amp;postID=2402966</comments>
      <guid isPermaLink="False">tag:Persianblog.ir,2003:blog-119927.post-2402966</guid>
      <pubDate>Wed, 24 Dec 2008 05:13:06 GMT</pubDate>
    </item>
  </channel>
</rss>
