Two ways to write my name in Unicode

I find it interesting that there are two ways to write my name, Pétur in Unicode.

One in which the e and ´ characters are combined into é:

petur:~ petur$ cat a;hexdump a
Pétur
0000000 50 c3 a9 74 75 72 0a                           
0000007

And another in which e is followed by a ´ (they are drawn in place).

petur:~ petur$ cat b;hexdump b
Pétur
0000000 50 65 cc 81 74 75 72 0a                        
0000008

diff reports a difference in the two:

petur:~ petur$ diff a b
1c1
< Pétur
---
> Pétur
petur:~ petur$ diff -q a b
Files a and b differ

Curious as to how C# and Swift treat the strings, I checked. The two do not agree on my name containing the character é.

// C# Code
string name = @"P\u0065\u0301tur";

// (e followed by ´ from keyboard) prints false
Console.WriteLine(name.Contains(@"é")); 

// (unicode for e followed by ´ from keyboard) prints false
Console.WriteLine(name.Contains(@"\u0305"));
// Swift Code
let name = "P\u{65}\u{301}tur"

// (e followed by ´ from keyboard) prints true
print(name.contains("é")) 

// (unicode for e followed by ´ from keyboard) prints false
print(name.contains("\u{0305}"))