در پلتفرم های مختلف و فریمورک های مختلف برای رشته ها از charset های مختلفی استفاده می شود. قبل از این که به مطلب اصلی بپردازیم ببینیم charset یا انکودینگ متن به چه معنا است. در این مطلب به معنی و مفهوم encoding یک متن پرداخته شده است و دو encoding معروف یونیکد و اسکی توضیح داده شده است. با توجه به این که ما فارسی زبان هستیم برای طراحی سایت ها و نوشتن مطالب اکثرا از encoding به نام utf-8 استفاده می کنیم.
این نوع encoding به خوبی زبان فارسی را پشتیبانی می کند. حال شما حالتی را در نظر بگیرید که یک متن به زبان فارسی نوشته شده است و به دست شما رسیده است. اما از آنجایی که انکودینگ آن utf-8 نیست شما نمی توانید آن متن را بخوانید و کاراکتر های عجیب و غریب و بی معنی به جای الفبای فارسی خواهید دید. حال شما باید انکودینگ این متن را به utf-8 تبدیل کنید.
استفاده از جاوا برای تبدیل Encoding متن
در زبان جاو برای این که انکودینگ متن را تبدیل کنید ابتدا باید بایت های آن را به دست آورید و از روی بایت ها متن utf-8 را بسازید. برای این کار باید به روش زیر عمل کنید.
try { String oldStr="some text in another encoding"; byte[] bytes=oldStr.getBytes(); String newStr=new String(bytes,"UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }
در کد بالا ابتدا متن را به بایت تبدیل کرده و سپس از روی بایت ها متن با encoding مورد نظر را می سازیم. شما می توانید علاوه بر utf-8 از هر encoding دیگری استفاده کنید ولی برای زبان فارسی utf-8 مناسب است.
نظرات کاربران (0)