and why does it automatically come when we coppy and paste a code ? . I mean , even if we don't type it practically , it gets typed on its own ? how ?
and why doesn't it gets typed on its own when we just do normal coding , instead of coppy paste ?
A stray character is a normal character like 'a', 'b' and so on. Depending on your editor it might be displayed with the same symbol as a normal whitespace character. (Therefore you were not able to see it)
If you write code in MS word for instance, Word tries to smartify your input based on your local settings (e.g. different usage of " or ') and replace valid characters, in terms of a programming language, with invalid ones.
One might write his code in a text editor and after validating publish it as part of a website, maybe using "smartifiing" plugins or to provide syntax highlighting.
GitHub provides the "raw" view to be able to copy the original code without any markup symbols