PDA

View Full Version : سوال: عدد مربوط به هر کاراکتر



saaheh
پنج شنبه 30 خرداد 1392, 01:40 صبح
سلام، آیا روشی هست که بشه با اون، عدد مربوط به هر کاراکتر رو به دست آورد؟ یعنی همون کاری که تابع ord انجام میده، اما برای همه نوع انکدینگ(چون تابع ord فقط برای کاراکترهای اسکی کار میکنه). تو سی شارپ توابعی وجود داشتن که یه رشته و یه انکدینگ رو بهشون میدادیم و در خروجی آرایه ای از بایت بهمون میدادن، آیا تو php هم چنین کاری ممکنه؟
تاجایی که فهمیدم دستورِ pack هم فقط برای کاراکترهای اسکی جواب میده و مثلا حرف "ت" که فارسی هست رو هم یه حرف دیگه در نظر میگیره و یه کد از 0 تا 255 برمیگردونه

راستش هدف نهاییم نوشتنِ یه کد ساده برای ناخوانا کردنِ یه رشته هست، مثلا به تمامِ کاراکترهای یه رشته یک واحدِ عددی اضافه کنم، ولی هرچی کردم نشد!!
ممنون

Unique
پنج شنبه 30 خرداد 1392, 02:30 صبح
چرا encrypt نمیکنید ؟ یا تبدیل به base64 نمیکنید و بعدش عملیاتی روی رشته مربوطه انجام بدین ؟

saaheh
پنج شنبه 30 خرداد 1392, 15:28 عصر
چرا encrypt نمیکنید ؟ یا تبدیل به base64 نمیکنید و بعدش عملیاتی روی رشته مربوطه انجام بدین ؟
چون میخوام داده ها رو بین کلاینت (جاوا اسکریپت) و سرور (پی اچ پی) رد و بدل کنم، گفتم اگه بخوام انکریپشن سمت کلاینت انجام بدم سنگین میشه، اگه راه ساده ای براش سراغ دارین ممنون میشم بگین.
در مورد تبدیل به base64 اصلا نمیدونم چطور انجام میشه :|

خیلی ممنون از همین راهنماییتون. اگه شد لطفا بیشتر توضیح بدین

saaheh
پنج شنبه 30 خرداد 1392, 18:01 عصر
یا تبدیل به base64 نمیکنید و بعدش عملیاتی روی رشته مربوطه انجام بدین ؟
امتحان کردم، برای تبدیل به base64 جاوااسکریپت یه تابع به نام btoa داره، که اونم ظاهرا انکدینگ رو ساپورت نمیکنه! برای حروف فارسی که من امتحان کردم خطا میده و میگه کاراکتر اشتباه توی رشته هست.

saaheh
پنج شنبه 30 خرداد 1392, 18:42 عصر
یا تبدیل به base64 نمیکنید و بعدش عملیاتی روی رشته مربوطه انجام بدین ؟
آقا ممنون! حل شد تقریبا! به جای btoa ِ تنها، با چیزی که از یه جا خوندم از ((btoa(unescape(encodeURIComponent استفاده کردم و جواب داد، گرچه بیخودی سنگینش میکنه ولی فعلا بهتر از هیچیه.

Unique
پنج شنبه 30 خرداد 1392, 21:17 عصر
گرچه بیخودی سنگینش میکنه ولی فعلا بهتر از هیچیه.
بله طبیعیه که سنگین تر از اصلش بشه ! base64 تنها راهیه که هم ساده هستش و هم میشه هر بلایی سرش آورد !