Url এনকোড এবং এইচটিএমএল এনকোডের মধ্যে পার্থক্য


86

ইউআরএল এনকোড এবং এইচটিএমএল এনকোডের মধ্যে পার্থক্য কী ?


4
আপনি যদি কোনও ইউআরএল ব্যবহারের জন্য এনকোড করতে চান তবে আপনি ইউআরএল এনকোডিং ব্যবহার করেন। আপনি যদি কোনও HTML পৃষ্ঠায় প্রদর্শনের জন্য এনকোড করতে চান, আপনি HTML এটিকে এনকোড করুন
মিচ গম

4
ইউআরএল এনকোড অক্ষরগুলি এনকোড করবে যাতে তারা ইউআরএলগুলির জন্য বৈধ হয়। যেমন ?হয়ে %3Fযাতে তারা HTML- এর জন্য বৈধ নয় এইচটিএমএল সঙ্কেতাক্ষরে লিখা অক্ষর এনকোড হবে। যেমন <হয়ে&lt;
ম্যাট এলেন

উত্তর:


85

এইচটিএমএল এনকোডিং পরিবর্তনের মতো এইচটিএমএল উপাদানগুলির সাথে বিভ্রান্তি রোধ করতে এইচটিএমএল ডকুমেন্টগুলিতে ব্যবহৃত স্ট্রিংগুলিতে বিশেষ অক্ষরগুলি ছেড়ে যায়

"<hello>world</hello>" 

প্রতি

"&lt;hello&gt;world&lt;/hello&gt;"

ইউআরএল এনকোডিং পরিবর্তনের মতো একটি ইউআরএল স্ট্রিং মানগুলির জন্য একই কাজ করে

"hello+world = hello world"

প্রতি

"hello%2Bworld+%3D+hello+world"

15
এইচটিএমএল এনকোডিং এবং ইউআরএল এনকোডিং মৌলিকভাবে বিভিন্ন জিনিস করে। যদি আপনি এইচটিএমএল এনকোড করেন, উদাহরণস্বরূপ, 'হ্যালো ওয়ার্ল্ড' এবং এটি কোনও ইউআরএল যুক্ত করার চেষ্টা করে, আপনি একটি অবৈধ url পাবেন। উভয়ই গুরুত্বপূর্ণ, এবং বিভিন্ন পরিস্থিতিতে ব্যবহার করা উচিত।
নীল

4
ইউরেল এনকোডিং সহ url এনকোডিংয়ের জন্য বেশ কয়েকটি এইচটিএমএল এনকোড ব্যবহারগুলি স্থান পরিবর্তন করতে হয়েছিল, স্থানগুলির এনকোডিংয়ের সমস্যা এবং কিছু অন্যান্য বিশেষ অক্ষর
PJUK

সাবধান, এইচআরটিএলকোডের পরিবর্তে এইচটিএমএলএনকোড ব্যবহার করা ইউআরএলগুলির জন্য সমস্যাযুক্ত হতে পারে যেহেতু এইচটিএমএল এনকোড আপনার সমস্ত স্ট্রিং জুড়ে "&" অক্ষর রাখে। আপনার ওয়েব সার্ভিসটি ইউআরএল প্রাপ্তির প্রত্যাশার উপর নির্ভর করে কয়েকটি অতিরিক্ত "এবং" অক্ষর খুব সমস্যাযুক্ত হতে পারে। উদাহরণস্বরূপ, যদি আপনার ওয়েব পরিষেবাদি একটি "&" অক্ষরের পূর্বে কোনও ইউআরএল প্রতিটি প্যারামিটারের প্রত্যাশা করে তবে আপনি এইচটিএমএল এনকোড ব্যবহার করেছেন যা অতিরিক্ত "&" অক্ষরের একটি গুচ্ছ যুক্ত করেছে, আপনার ওয়েব পরিষেবা সম্ভবত আপনি একটি ত্রুটি পাবেন ইউআরএল ব্যাখ্যা করার চেষ্টা করে। আমি ঠিক এই কারণেই UrlEncode এর সাথে এইচটিএমএল এনকোডের বেশ কয়েকটি ব্যবহার প্রতিস্থাপন করতে হয়েছিল।
jdnew18

4
দয়া করে ফিল শুনবেন না। আমার বিশ্বাস করা অসম্ভব যে তিনি কোয়েরি স্ট্রিং ব্যবহার করছেন এবং আরআরএনকোডের পরিবর্তে এইচটিএমএলএনকোড ব্যবহার করে আধুনিক ইউআরএল তৈরি করছেন। উরলনকোডটি বেশিরভাগই অকেজো বলে মনে হচ্ছে এই সাইটে আমি কিছুটা সময় দেখেছি urd
নার্ড ডগ

23

urlEncode এমন অক্ষরগুলির সাথে বিশেষ অক্ষরগুলি প্রতিস্থাপন করে যা ওয়েব ব্রাউজারগুলি / ওয়েব সার্ভারের মাধ্যমে সম্বোধনের উদ্দেশ্যে বোঝা যায় ... সুতরাং URL টি। উদাহরণস্বরূপ, স্পেসগুলি% 20, '=% 27 ইত্যাদি দিয়ে প্রতিস্থাপন করা হয়েছে ...

এই উল্লেখ দেখুন:

এইচটিএমএল এনকোড পৃষ্ঠার বিষয়বস্তু রেন্ডার করার জন্য এইচটিএমএল ইঞ্জিন দ্বারা স্বীকৃত চরিত্রের স্ট্রিংগুলির সাথে বিশেষ অক্ষরকে প্রতিস্থাপন করে - এর মতো জিনিস এইচটিএমএল ইঞ্জিনকে এইচটিএমএল চিহ্নিতকরণের অংশ &amp; or < = &lt; > = &lt;হিসাবে এই অক্ষরগুলি ব্যাখ্যা করতে বাধা দেয় এবং তাই এগুলি যেমন রেন্ডার করে তেমন রেন্ডার করে স্ট্রিং

এই রেফারেন্স দেখুন:


আসলে ইউআরএলএনকোড + এর সাথে স্পেসগুলি প্রতিস্থাপন করে, যা কিছু পরিস্থিতিতে সমস্যা হতে পারে।
নেটমেজ

13

এইচটিএমএল এবং ইউআরএল উভয়ই মূলত খুব সীমাবদ্ধ ভাষা । একটি ভাষা হিসাবে তারা নির্দিষ্ট কীওয়ার্ড বা অপারেটরদের অর্থ যুক্ত করে। যদিও এই উভয় ভাষার জন্য, কীওয়ার্ডগুলি প্রায়শই একক অক্ষর। উদাহরণ স্বরূপ

  • এইচটিএমএল:> এবং <
  • ইউআরএল: / এবং:

প্রতিটি ভাষার ব্যবহারে যদিও এই রচনাগুলি এমনভাবে ব্যবহার করা সম্ভব যা ভাষার অর্থ নিশ্চিত করে না। উদাহরণস্বরূপ এই পোস্টে একটি> অক্ষর রয়েছে। আমি চাই না যে এটি HTML, কেবল পাঠ্য হিসাবে ব্যাখ্যা করা হোক।

এখানেই এনকোড এবং ডিকোড পদ্ধতি কার্যকর হয়। এই পদ্ধতিগুলি যথাক্রমে একটি স্ট্রিং নেবে এবং এমন কোনও অক্ষরকে রূপান্তরিত করবে যা অন্যথায় একটি পালিয়ে যাওয়া রূপে কীওয়ার্ড হিসাবে বিবেচিত হবে যা ভাষার অংশ হিসাবে ব্যাখ্যা করা হবে না।

উদাহরণস্বরূপ: এইচটিএমএল এনকোডে> পাস করা & gt;


3

এইচটিএমএলএনকোড এবং ইউআরএলএনকোড এইচটিএমএল এবং ইউআরএলগুলিতে অবৈধ অক্ষরগুলি নিয়ে ডিল করে বা আরও সঠিকভাবে, সঠিকভাবে ব্যাখ্যা করার জন্য যে অক্ষরগুলিকে বিশেষভাবে রচনা করা দরকার। উদাহরণস্বরূপ, এইচটিএমএলে <এবং> বর্ণগুলি ট্যাগ নির্দেশ করতে ব্যবহৃত হয়। সুতরাং, আপনি যদি একটি গণিত সূত্র লিখতে চান তবে 1 + 1 <2 + 2 এর মতো কিছু, '<' সাধারণত একটি ট্যাগের শুরু হিসাবে ব্যাখ্যা করা হত। এইচটিএমএলঙ্কোডিং এই চরিত্রটিকে "& lt;" তে রূপান্তরিত করে যা স্বল্প-চিহ্নের এনকোডযুক্ত উপস্থাপনা। ইউআরএলএনকোডিং একই কাজ করে তবে ইউআরএলগুলির জন্য, যার জন্য বিশেষ অক্ষরগুলি আলাদা, যদিও কিছু ওভারল্যাপ রয়েছে।


1

আপনি কোন ভাষায় কাজ করছেন তা আমি জানি না, তবে পিএইচপি ম্যানুয়াল উদাহরণস্বরূপ ভাল ব্যাখ্যা সরবরাহ করে।

ইউআরএলএনকোড

একটি স্ট্রিং প্রদান করে যেখানে -_ ব্যতীত সমস্ত অ-অক্ষরীয় অক্ষর। শতাংশ (%) চিহ্ন দ্বারা প্রতিস্থাপিত হয়েছে তারপরে দুটি হেক্স সংখ্যা এবং ফাঁকা স্থান (+) চিহ্ন হিসাবে এনকোড করা দুটি ফাঁকা স্থান রয়েছে। এটি ডাব্লুডাব্লুডাব্লু ফর্মের পোস্ট ডেটা যেভাবে এনকোড করা হয়েছে ঠিক সেভাবেই এনকোড করা হয়েছে, এটি একইভাবে অ্যাপ্লিকেশন / x-www-form-urlencoded মিডিয়া টাইপ। এটি »আরএফসি 1738 এনকোডিং থেকে পৃথক হয়েছে (rawতিহাসিক কারণে কাঁচারলেঙ্কোড (দেখুন), স্পেসগুলি প্লাস (+) চিহ্ন হিসাবে এনকোড করা হয়েছে।

পড়তে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.