আমি শুধু তাদের মনে করতে পারি না। সুতরাং, পুরানো ফ্যাশনযুক্ত ASCII লাইনগুলি সঠিকভাবে শেষ করার সঠিক উপায় কী?
আমি শুধু তাদের মনে করতে পারি না। সুতরাং, পুরানো ফ্যাশনযুক্ত ASCII লাইনগুলি সঠিকভাবে শেষ করার সঠিক উপায় কী?
উত্তর:
মনে রাখতে আমি ' আর এটুর এন ' শব্দটি ব্যবহার করব , এন এন এর আগে r আসবে।
\n\r
এবং \r\n
একই, তারা কি একই প্রভাব ফেলবে না? তুমি কি পার্থক্যটা বলতে পারো?
আপনি যদি সি # ব্যবহার করছেন তবে আপনার ব্যবহার করা উচিত Environment.NewLine
, যা এমএসডিএন অনুসারে এটি হ'ল:
নন-ইউনিক্স প্ল্যাটফর্মগুলির জন্য "\ r \ n", অথবা ইউনিক্স প্ল্যাটফর্মগুলির জন্য "\ n" ধারণকারী একটি স্ট্রিং।
Environment.NewLine
তা ঠিক। তবে, আপনি যদি একটি ভাল সংজ্ঞায়িত ফর্ম্যাটে জিনিস লিখছেন তবে ফর্ম্যাটটি নিউলাইনটিকেও সংজ্ঞায়িত করতে পারে। উদাহরণস্বরূপ, এইচটিটিপি প্রোটোকলটি জানিয়েছে যে আপনাকে অবশ্যই\r\n
প্ল্যাটফর্ম নির্বিশেষে শিরোলেখ ইত্যাদির জন্য লাইন টার্মিনেটর হিসাবে ব্যবহার করতে হবে ।
নতুন লাইন আপনার ওএসের উপর নির্ভর করে:
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
আরও বিশদ এখানে: https://ccrma.stanford.edu/~craig/utility/flip/
সন্দেহ হলে, কোনও ফাইল কীভাবে তার নতুন লাইনের এনকোড করে তা দেখতে কোনও ফ্রিওয়্যার হেক্স ভিউয়ার / সম্পাদক ব্যবহার করুন।
আমার জন্য, আমি আমাকে মনে রাখতে সাহায্যের জন্য নিম্নলিখিত গাইড ব্যবহার করি: 0D0A = \ r \ n = CR, LF = ca rr iage r eturn, li n e feed
0D0A
হৃদয় দ্বারা, কিন্তু এখনও বিভ্রান্ত \r
এবং \n
।
ক্রমটি সিআর (ক্যারেজ রিটার্ন) - এলএফ (লাইন ফিড)। ডট ম্যাট্রিক্স প্রিন্টার মনে আছে? যথাযথভাবে। সুতরাং - সঠিক ক্রমটি \ r \ n
যে কোনও। নেট ল্যাঙ্গুয়েজে, Environment.NewLine
পছন্দনীয় হবে।
ম্যানুয়ালি এটি করার ক্ষেত্রে সাবধানতা অবলম্বন করুন।
আসলে আমি এটিকে একেবারেই না করার পরামর্শ দেব ।
বাস্তবে আমরা লাইন টার্মিনেশন ক্রম এলটিএসের কথা বলছি যা প্ল্যাটফর্মের জন্য নির্দিষ্ট।
আপনি যদি পাঠ্য মোডে কোনও ফাইল খুলেন (যেমন বাইনারি নয়) তবে স্ট্রিমগুলি আপনার প্ল্যাটফর্মের জন্য "\ n" কে সঠিক এলটিএসে রূপান্তর করবে। তারপরে আপনি যখন ফাইলটি পড়েন তখন এলটিএসকে "" to n "এ রূপান্তর করুন।
ফলস্বরূপ আপনি যদি উইন্ডোজ ফাইলে "\ r \ n" মুদ্রণ করেন তবে আপনি দৈহিক ফাইলে ক্রম "\ r \ r" n "পাবেন (একটি হেক্স সম্পাদক সম্পাদনা করে দেখুন)।
প্ল্যাটফর্মগুলির মধ্যে ফাইল স্থানান্তর করার ক্ষেত্রে অবশ্যই এটি আসল ব্যথা।
এখন আপনি যদি কোনও নেটওয়ার্ক স্ট্রিমে লিখছেন তবে আমি নিজেই এটি করতাম (বেশিরভাগ নেটওয়ার্ক প্রোটোকল এটিকে বিশেষভাবে কল করে)) তবে আমি নিশ্চিত করব যে স্ট্রিমটি কোনও ব্যাখ্যা করছে না (সুতরাং বাইনারি মোড উপযুক্ত ছিল)।
\r\n
উইন্ডোজ ঠিক জরিমানা করতে হবে।
\n
নোটপ্যাডের সর্বশেষতম সংস্করণ সহ উইন্ডোতেও একটি সিঙ্গেল জরিমানা করে।
উইকিপিডিয়া থেকে (আপনি নিবন্ধে আপনার ওএসের জন্য কোনটি সঠিক তা পড়তে পারেন):
ASCII বা একটি সামঞ্জস্যপূর্ণ অক্ষর সেট উপর ভিত্তি করে সিস্টেমগুলি এলএফ (লাইন ফিড, '\ n', 0x0A, দশমিক 10) বা সিআর (ক্যারিজ রিটার্ন, '\ r', 0x0D, 13 দশমিক) পৃথকভাবে ব্যবহার করে, বা সিআর অনুসরণ করবে এলএফ (সিআর + এলএফ, '\ r \ n', 0x0D0A)।
\r\n
বলার অপেক্ষা রাখে না যে আমি এটি মনে করি কারণ এটি আমার ব্যবহৃত টাইপরাইটারের বিপরীত ।
আচ্ছা এটি যদি স্বাভাবিক হয় তবে আমার এটি মনে রাখার দরকার ছিল না ...:-)
টাইপ রাইটারে আপনি যখন রেখার অঙ্কটি শেষ করেন আপনি ক্যারেজ রিটার্ন লিভারটি ব্যবহার করেন , তার আগে ড্রামটি, নতুনলাইনটি রোল করে দেয় এবং আপনাকে নিজেই গাড়ীর রিটার্ন পরিচালনা করতে দেয় ।
আপনি এই রেকর্ডটি থেকে শুরুতে কাগজ খাওয়ানোর শুরুর শব্দটি শুনতে পারেন এবং শেষ থেকে প্রায় -1: 03 সেকেন্ডে, ড্রামের লাইন শব্দের শেষের জন্য বেল সতর্কতার পরে এবং পরে একটি গাড়ি ফেরত।